@import url('../memory/style.css');
:root{background:#f8f3e7;color:#60727a}.brand-mark{background:#e7e0ef;color:#8c77a8}.brand small{color:#9b8aab}.brand h1{color:#646380}
.band-world{background:radial-gradient(ellipse at 50% 6%,#fff8e6,#e8efe2 65%,#d5e5df);border-color:#ccd9c9}.band-order{min-width:0;width:340px;max-width:80%;padding:11px 15px 13px;border-color:#d2c4da;border-bottom-color:#aa98b7;background:#fffcf2}.band-order .order-content{gap:12px;justify-content:center}.order-symbol{width:38px;height:38px;color:#8c78a5}#question{font-size:21px;color:#716082}.round-progress{top:28px}.progress-star{width:23px;height:23px}
.sequence{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:12px;min-height:74px}.beat{display:grid;place-items:center;width:65px;height:65px;border:3px dashed #c5bdce;border-radius:17px;background:#f0eaf2;color:#c0b5c9}.beat svg{width:43px;height:43px}.beat.current{border-style:solid;border-color:#8b71a6;box-shadow:0 0 0 3px #fff9e9,0 0 0 5px #b8a5c8;color:#8b71a6}.beat.filled{background:var(--beat-color);border:3px solid #fff9e8;box-shadow:0 3px #b4a1b1}.beat.filled svg{width:51px;height:51px}body[data-phase="demonstrating"] .order-symbol{color:#9c78ba}body[data-phase="answering"] .order-symbol{color:#318c83}body[data-phase="answering"] #question{color:#37857e}body[data-phase="solved"] #question{color:#a27c2e}
.band-world .hint-button{position:absolute;top:auto;right:26px;bottom:26px;display:grid;place-items:center;min-width:62px;min-height:62px;border:3px solid #fff9df;border-radius:21px;outline:2px solid #ad7e37;background:#efbd61;color:#795728;box-shadow:0 5px #a97d40;touch-action:manipulation}.band-world .hint-button .icon{width:32px;height:32px}.band-world .hint-button:focus-visible{outline:4px solid #226bbb;outline-offset:5px}.band-world .bottom-note{bottom:26px;max-width:calc(100% - 135px);min-height:55px;gap:13px}.bottom-note p{font-size:13px}
.dialog-mark{background:#ece2f0;color:#9571a9}.dialog-mark svg{width:65px;height:65px}.primary{background:#9071aa;border-color:#715488;box-shadow:0 4px #715488}.primary:hover{background:#80619b}.band-demo{display:flex;align-items:center;justify-content:center;gap:15px;margin:24px auto}.band-demo span{display:grid;place-items:center;padding:10px;border:3px solid #fff5e1;border-radius:22px;background:#ed9b97;box-shadow:0 5px #d08c87}.band-demo span:nth-child(2){background:#a5d3e8;box-shadow:0 5px #86b5cb}.band-demo span:nth-child(3){background:#f8df92;box-shadow:0 5px #d7bc76}.band-demo svg{width:64px;height:64px}
.band-controls button{touch-action:manipulation;-webkit-user-select:none;user-select:none;min-inline-size:48px;min-block-size:48px}.band-controls button:focus-visible{outline:4px solid #1768ae;outline-offset:6px}
.band-guide{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}.band-guide[hidden]{display:none}.band-guide *{pointer-events:none}.band-guide .guide-ring{position:absolute;box-sizing:border-box;border:5px solid #fff9e6;outline:3px solid #e9a83d;border-radius:50%;width:58px;height:58px}.band-guide img{position:absolute;width:112px;height:112px;filter:drop-shadow(0 4px 4px #675b4738);transform-origin:35.84px 9.52px}
.fallback-band{position:absolute;inset:265px 6% 120px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:center}.fallback-band button{display:grid;place-items:center;min-width:64px;min-height:160px;padding:20px 10px;border:5px solid #fffbed;outline:3px solid #aa8c9d;border-radius:35px;background:var(--instrument-color);box-shadow:0 7px #b99f99;touch-action:manipulation}.fallback-band button svg{width:100%;height:180px}.fallback-band button span{font-size:16px;color:#594a5a}.fallback-band button.playing,.fallback-band button.solved{outline:7px solid #e2b13f;box-shadow:0 0 0 12px #fff5cb}.fallback-band button.wrong{outline-color:#b86e70}.fallback-band button:focus-visible{outline:5px solid #1768ae;outline-offset:8px}.fallback-band button:disabled{opacity:1}
@media(orientation:portrait){.band-order{top:25px;width:365px;padding:14px 18px 17px}.sequence{margin-top:17px;min-height:83px;gap:18px}.beat{width:75px;height:75px}.beat svg{width:46px;height:46px}.beat.filled svg{width:59px;height:59px}.fallback-band{inset:330px 5% 170px;gap:20px}}
@media(max-width:900px){.brand h1{font-size:14px}.brand small{font-size:8px}.progress-star{width:20px;height:20px}.round-progress{left:20px}#question{font-size:19px}}
@media(max-width:600px){body{min-height:680px}.brand h1{font-size:10px}.brand small{font-size:6px}.band-order{top:16px;width:270px;padding:8px 10px 11px}.order-symbol{width:31px;height:32px}.band-order .order-content{gap:8px}#question{font-size:16px}.listen{width:42px;height:42px}.sequence{min-height:61px;gap:12px;margin-top:10px}.beat{width:53px;height:53px;border-radius:12px}.beat svg{width:32px;height:32px}.beat.filled svg{width:43px;height:43px}.round-progress{top:185px;left:17px;flex-direction:row;align-items:center;gap:9px}#progress{display:flex;gap:3px}.progress-star{width:17px;height:17px}.band-world .bottom-note{left:15px;bottom:24px;max-width:calc(100% - 100px);padding:8px 10px;gap:9px}.bottom-note p{font-size:11px}.band-world .hint-button{right:20px;bottom:27px;min-width:48px;min-height:49px;border-radius:16px}.band-world .hint-button .icon{width:26px;height:26px}.fallback-band{inset:245px 4% 115px;gap:14px}.fallback-band button{border-width:3px;border-radius:21px;padding:8px 5px;min-height:130px}.fallback-band button svg{height:100px}.fallback-band button span{font-size:10px}.band-demo svg{width:53px;height:53px}.band-demo{gap:10px}}
@media(max-height:700px) and (min-width:601px){.band-order{top:11px;padding-block:6px;width:310px}#question{font-size:17px}.order-symbol{width:33px;height:33px}.listen{width:42px;height:42px}.sequence{min-height:60px;margin-top:8px}.beat{width:54px;height:54px}.beat svg{width:35px;height:35px}.beat.filled svg{width:44px;height:44px}.band-world .bottom-note{bottom:19px}.band-world .hint-button{bottom:23px;min-width:53px;min-height:53px}.fallback-band{inset:210px 6% 100px}}
@media(forced-colors:active){.beat,.beat.current,.beat.filled,.fallback-band button{border-color:ButtonText;outline-color:ButtonText}}
