:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17312d;background:#f8fbf7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:1280px;min-height:100vh;background:radial-gradient(circle at 16% 16%,rgba(125,211,252,.28),transparent 30%),radial-gradient(circle at 90% 10%,rgba(254,240,138,.42),transparent 26%),linear-gradient(135deg,#fbfdf8,#eef8f1 52%,#f9fafb)}button,input{font:inherit}button{border:0;cursor:pointer}.app-shell{width:min(1880px,calc(100vw - 40px));min-height:100vh;margin:0 auto;padding:28px 0}.top-bar{display:grid;grid-template-columns:minmax(420px,560px) minmax(620px,1fr);gap:28px;align-items:stretch;margin-bottom:24px}.brand,.timer-card{border:1px solid rgba(23,49,45,.08);box-shadow:0 22px 70px #1c48421a;background:#ffffffc7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;justify-content:center;min-height:220px;padding:16px 24px;border-radius:32px}.brand img{width:100%;height:188px;object-fit:contain;-webkit-user-select:none;user-select:none}.timer-card{position:relative;display:grid;grid-template-columns:1fr 210px;gap:16px;align-items:center;min-height:180px;padding:22px;border-radius:36px}.timer-display{display:flex;justify-content:center;align-items:center;gap:8px;color:#102d29;font-variant-numeric:tabular-nums;font-weight:900;line-height:.9}.timer-display b{font-size:clamp(5rem,7vw,7.6rem);transform:translateY(-.06em)}.timer-actions{display:grid;gap:12px}.time-digit{display:grid;grid-template-rows:32px 1fr 32px;align-items:center;justify-items:center;gap:4px}.time-digit button,.point-box button,.bonus-box button{width:40px;height:40px;border-radius:50%;color:#143b35;background:#fff;box-shadow:0 8px 18px #1c48421f;font-size:1.25rem;font-weight:900}.time-digit button{position:relative;z-index:2;width:36px;height:32px;border-radius:16px;font-size:1rem}.time-digit span{min-width:.72em;pointer-events:none;-webkit-user-select:none;user-select:none;text-align:center;color:#102d29;font-size:clamp(4.9rem,7vw,7.7rem);font-weight:950;line-height:.9}.timer-display>b{pointer-events:none;-webkit-user-select:none;user-select:none}.primary-button,.ghost-button{width:100%;min-height:62px;border-radius:999px;font-size:1.15rem;font-weight:900}.action-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.results-button{color:#fff;background:linear-gradient(135deg,#f5b700,#ff8a00);box-shadow:0 16px 28px #f5b70052}.sfx-controls{display:grid;grid-template-columns:auto minmax(70px,1fr) 38px;align-items:center;gap:8px;min-height:36px;color:#526e68;font-size:.82rem;font-weight:900;-webkit-user-select:none;user-select:none}.sfx-controls label{display:flex;align-items:center;gap:5px;cursor:pointer}.sfx-controls input[type=checkbox]{width:19px;height:19px;margin:0;accent-color:#1d8f70;cursor:pointer}.sfx-controls input[type=range]{width:100%;min-width:0;margin:0;accent-color:#1d8f70;cursor:ew-resize}.sfx-controls input[type=range]:disabled{cursor:default;opacity:.42}.sfx-controls output{text-align:right;font-variant-numeric:tabular-nums}.zoom-controls{display:grid;grid-template-columns:auto 28px 58px 28px;justify-content:center;align-items:center;gap:5px;min-height:28px;color:#526e68;font-size:.82rem;font-weight:900;-webkit-user-select:none;user-select:none}.zoom-label{margin-right:3px}.zoom-controls button{width:28px;height:28px;border-radius:50%;color:#143b35;background:#fff;box-shadow:0 5px 12px #1c48421f;font-size:.84rem;font-weight:950}.zoom-controls button:disabled{cursor:default;opacity:.36;transform:none}.zoom-controls output{text-align:center;font-variant-numeric:tabular-nums}.primary-button{color:#fff;background:linear-gradient(135deg,#1d8f70,#28b890);box-shadow:0 16px 28px #1d8f7047}.ghost-button{color:#163a35;background:#fff;box-shadow:inset 0 0 0 1px #163a351f}.scoreboard{position:relative;overflow:hidden;border-radius:34px;border:1px solid rgba(23,49,45,.08);background:#ffffffd1;box-shadow:0 26px 90px #1c484221;transform:scale(var(--scoreboard-zoom, 1));transform-origin:top center}.column-tints{position:absolute;inset:16px 16px 12px;display:grid;grid-template-columns:220px repeat(6,minmax(150px,1fr)) 168px;gap:12px;pointer-events:none}.column-tints span:nth-child(n+2):nth-child(-n+7){border:1px solid color-mix(in srgb,var(--room-color) 28%,transparent);border-radius:28px;background:color-mix(in srgb,var(--room-color) 15%,#ffffff)}.score-grid{position:relative;z-index:1;display:grid;grid-template-columns:220px repeat(6,minmax(150px,1fr)) 168px;gap:12px;padding:12px 16px;align-items:stretch}.header-grid{padding-top:16px}.player-row{min-height:150px;border-top:1px solid rgba(23,49,45,.07)}.player-header,.room-header,.total-header{min-height:66px;display:flex;align-items:center;justify-content:center;border-radius:22px;color:#21413c;font-size:1rem;font-weight:900;text-align:center}.player-header,.total-header{background:#fff}.room-header{position:relative;padding:10px;background:color-mix(in srgb,var(--room-color) 24%,#ffffff);box-shadow:inset 0 -5px color-mix(in srgb,var(--room-color) 68%,#ffffff)}.room-header span{max-width:12ch}.player-cell{display:grid;grid-template-rows:1fr 58px;min-width:0;overflow:hidden;border-radius:28px;background:#fbfffc;box-shadow:inset 0 0 0 1px #17312d14}.player-identity{position:relative;display:flex;align-items:center;justify-content:center;height:100%;padding:14px 16px}.player-dot{position:absolute;left:16px;top:calc(50% + 3px);width:18px;height:18px;border-radius:50%;transform:translateY(-50%);box-shadow:0 0 0 5px #ffffffe6,0 8px 16px #17312d29}.player-cell input{min-width:0;width:100%;border:0;outline:0;color:#143b35;background:transparent;font-size:2rem;font-weight:950;text-align:center}.player-cell input:focus{border-radius:12px;background:#edf8f1}.sound-strip{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center;padding:7px 12px;border-top:1px solid rgba(23,49,45,.08);background:#edf1f0}.sound-strip>img{width:30px;height:30px;object-fit:contain;opacity:.68;-webkit-user-select:none;user-select:none}.sound-picker{min-width:0;color:#526e68;text-align:center}.sound-picker-controls{display:flex;align-items:center;justify-content:center;gap:2px;padding:0 5px}.sound-picker-controls button{flex:0 0 24px;width:24px;height:24px;border-radius:50%;color:#143b35;background:#fff;box-shadow:0 5px 12px #1c48421f;font-size:.88rem;font-weight:950}.sound-picker-controls strong{overflow:hidden;min-width:52px;max-width:76px;color:#21413c;font-size:.8rem;line-height:1;text-overflow:ellipsis;white-space:nowrap}.sound-picker>span{display:block;margin-top:1px;font-size:.68rem;font-weight:850;line-height:1;font-variant-numeric:tabular-nums}.score-cell{display:grid;grid-template-rows:1fr 58px;min-width:0;margin:5px 13px;overflow:hidden;border:1px solid rgba(23,49,45,.08);border-radius:28px;background:#fff;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--room-color) 10%,transparent)}.score-cell--no-bonus{grid-template-rows:1fr}.point-box,.bonus-box,.total-cell{border:1px solid rgba(23,49,45,.08);background:#fff}.point-box{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:4px;padding:14px 8px;min-height:90px;border:0}.score-cell--no-bonus .point-box{box-shadow:inset 0 -6px color-mix(in srgb,var(--room-color) 32%,#ffffff)}.point-box button{width:32px;height:32px}.point-box strong{overflow:hidden;color:#102d29;text-align:center;font-size:2.6rem;font-weight:950;font-variant-numeric:tabular-nums;line-height:1}.point-box strong.is-medium{font-size:2rem}.point-box strong.is-small{font-size:1.55rem}.bonus-box{position:relative;display:grid;grid-template-columns:24px minmax(2ch,24px) 24px;justify-content:end;gap:3px;align-items:center;padding:7px 5px 7px 34px;border:0;border-top:1px solid color-mix(in srgb,var(--room-color) 38%,#ffffff);background:color-mix(in srgb,var(--room-color) 32%,#ffffff)}.bonus-box span{position:absolute;left:8px;color:#526e68;font-size:.68rem;font-weight:900;text-transform:uppercase}.bonus-box button{width:24px;height:24px;font-size:.9rem}.bonus-box b{color:#143b35;text-align:center;font-size:1.25rem;font-variant-numeric:tabular-nums}.total-cell{display:flex;align-items:center;justify-content:center;min-height:138px;border-radius:34px;background:linear-gradient(135deg,#173a35,#23665c);box-shadow:0 16px 32px #173a3533}.total-cell span{color:#fff;font-size:4.6rem;font-weight:950;font-variant-numeric:tabular-nums;line-height:1}button:hover{transform:translateY(-1px)}button:active{transform:translateY(1px) scale(.98)}.results-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:40px;background:#0a1a16a8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.results-panel{width:min(1680px,100%);max-height:92vh;overflow-y:auto;padding:32px 36px;border-radius:40px;background:#f8fbf7;box-shadow:0 40px 120px #0a1a1666}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.results-header h2{margin:0;color:#102d29;font-size:2.1rem;font-weight:950}.results-header .ghost-button{width:auto;min-height:52px;padding:0 32px}.results-header-actions{display:flex;align-items:center;gap:14px}.layout-toggle{display:flex;gap:4px;padding:4px;border-radius:999px;background:#edf1f0;box-shadow:inset 0 0 0 1px #17312d14}.layout-toggle button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:transparent;box-shadow:none;transition:background .25s ease,box-shadow .25s ease}.layout-toggle button.is-active{background:#fff;box-shadow:0 8px 18px #1c484229}.layout-toggle img{width:22px;height:22px;object-fit:contain;opacity:.55;transition:opacity .25s ease}.layout-toggle button.is-active img{opacity:1}.results-grid{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:24px}.results-grid.layout-grid{justify-content:center}.results-card{display:flex;flex:0 0 calc(25% - 18px);gap:18px;padding:18px;border-radius:30px;background:#fff;box-shadow:inset 0 0 0 1px #17312d14,0 18px 40px #1c48421a;transition:flex-basis .45s ease,padding .45s ease}.results-grid.layout-grid .results-card{flex:0 0 calc((50% - 12px)*.7);padding:26px}.results-portrait{flex-shrink:0;width:150px;aspect-ratio:266 / 417;overflow:hidden;border:6px solid var(--player-color);border-radius:24px;box-shadow:0 12px 26px #17312d33;transition:width .45s ease}.results-grid.layout-grid .results-portrait{width:230px}.results-portrait img{display:block;width:100%;height:100%;object-fit:cover}.results-details{display:flex;flex:1;flex-direction:column;min-width:0}.results-details h3{margin:4px 0 12px;color:var(--player-color);font-size:1.35rem;font-weight:950;transition:font-size .45s ease}.results-grid.layout-grid .results-details h3{font-size:1.9rem}.results-rooms{display:flex;flex:1;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.results-rooms li{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-bottom:4px;border-bottom:1px dashed rgba(23,49,45,.14);color:#526e68;font-size:.84rem;font-weight:800;transition:font-size .45s ease}.results-grid.layout-grid .results-rooms li{font-size:1.05rem}.results-rooms li b{color:#143b35;font-variant-numeric:tabular-nums}.results-total{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:2px solid var(--player-color)}.results-total span{color:#526e68;font-size:.85rem;font-weight:900;text-transform:uppercase}.results-total b{color:#102d29;font-size:2rem;font-weight:950;font-variant-numeric:tabular-nums;transition:font-size .45s ease}.results-grid.layout-grid .results-total b{font-size:2.7rem}.language-switch{position:absolute;top:16px;left:16px;z-index:5;display:flex;gap:6px;padding:5px;border-radius:999px;background:#ffffffd9;box-shadow:0 10px 22px #1c484224;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.language-switch button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:transparent;box-shadow:none;transition:background .25s ease,box-shadow .25s ease,opacity .25s ease}.language-switch button.is-active{background:#fff;box-shadow:0 8px 18px #1c484233}.language-switch img{width:24px;height:24px;border-radius:50%;object-fit:cover;opacity:.5;transition:opacity .25s ease}.language-switch button.is-active img{opacity:1}.confirm-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:#0a1a16a8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-panel{width:min(460px,100%);padding:32px;border-radius:32px;background:#f8fbf7;box-shadow:0 40px 120px #0a1a1666;text-align:center}.confirm-panel h2{margin:0 0 12px;color:#102d29;font-size:1.5rem;font-weight:950}.confirm-panel p{margin:0 0 24px;color:#526e68;font-size:.95rem;font-weight:700}.confirm-actions{display:flex;gap:12px}.confirm-actions button{flex:1}@media(max-width:1450px){body{min-width:0}.app-shell{width:calc((100vw - 28px) / .84);padding:24px 0;zoom:.84}}@media(max-width:1200px){.app-shell{width:calc((100vw - 24px) / .76);padding:20px 0;zoom:.76}}
