:root{
  --bg:#06101c;--panel:#0b1725;--panel2:#0e1c2c;--line:#263a4f;--text:#f7fbff;--muted:#91a2b5;
  --green:#12df51;--green2:#00b93f;--blue:#0586ef;--blue2:#0066ca;--red:#e3342f;--gold:#f6b800;
}
*{box-sizing:border-box}html{background:#050b12}body{margin:0;min-height:100vh;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 50% 0,#14253a 0,#081421 42%,#050b12 100%);overflow-x:hidden}.hidden{display:none!important}button,input{font:inherit}button{touch-action:manipulation}.phone-page{position:relative;z-index:2;width:min(100%,560px);margin:0 auto}.table-bg{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 110%,#8c5418 0,#4a2b12 26%,transparent 53%),linear-gradient(140deg,#0c1724,#07111d 55%,#100c0a)}.table-bg:after{content:"";position:absolute;left:-20%;right:-20%;bottom:-12%;height:45%;background:repeating-linear-gradient(92deg,#8e5d2b 0 2px,#6f431d 2px 7px,#9c6730 7px 9px);opacity:.18;transform:perspective(600px) rotateX(58deg);transform-origin:bottom}.game-table-bg:after{opacity:.1}.decor-card{position:absolute;display:grid;place-items:center;width:88px;height:126px;border:7px solid #f5efe3;border-radius:13px;font-style:normal;font-size:42px;font-weight:950;box-shadow:0 16px 30px #0008;opacity:.32;filter:blur(.4px)}.card-a{left:-18px;bottom:48px;background:#c4382f;transform:rotate(-18deg)}.card-b{left:18%;bottom:-38px;background:#d49d10;transform:rotate(13deg)}.card-c{right:8%;bottom:-26px;background:#176cc2;transform:rotate(-9deg)}.card-d{right:-22px;bottom:95px;background:#238a50;transform:rotate(18deg)}

/* brand */
.phase-logo{position:relative;display:inline-flex;align-items:flex-end;gap:2px;padding:0 0 11px;font-style:italic;font-weight:950;letter-spacing:-.07em;filter:drop-shadow(0 8px 9px #0009)}.phase-word{font-size:clamp(54px,14vw,82px);line-height:.84;text-shadow:0 2px 0 #62717d,0 4px 0 #27313a}.phase-ten{font-size:clamp(76px,20vw,112px);line-height:.7;color:#ffc21b;text-shadow:0 3px 0 #9b5f00,0 6px 0 #503200}.phase-lines{position:absolute;left:6px;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);height:10px;gap:2px;transform:skewX(-16deg)}.phase-lines i:nth-child(1){background:#e7352d}.phase-lines i:nth-child(2){background:#146dd2}.phase-lines i:nth-child(3){background:#2b9f58}.phase-lines i:nth-child(4){background:#f2c21b}.brand-subtitle{font-size:11px;font-weight:950;letter-spacing:.32em;color:#d8e1eb;margin-top:8px}.small-logo{transform:scale(.45);transform-origin:left center;margin-right:-100px;filter:none}.small-logo .phase-word{font-size:56px}.small-logo .phase-ten{font-size:82px}

/* start */
.start-page{min-height:100svh}.start-shell{min-height:100svh;padding:58px 22px max(28px,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center}.brand-block{text-align:center;margin:0 auto 42px}.brand-block p{margin:16px auto 0;color:#c6d0da;max-width:330px;line-height:1.5;font-size:14px}.home-actions{display:grid;gap:14px}.big-action{width:100%;border:1px solid #ffffff2c;border-radius:17px;padding:18px 20px;display:flex;align-items:center;gap:16px;color:#fff;text-align:left;box-shadow:inset 0 1px #ffffff55,0 12px 24px #0007;cursor:pointer}.big-action .action-icon{display:grid;place-items:center;width:58px;height:58px;font-size:44px;font-weight:300;line-height:1}.big-action b{display:block;font-size:20px;letter-spacing:.025em;text-shadow:0 2px #0004}.big-action small{display:block;font-size:13px;margin-top:3px;opacity:.9}.create-action{background:linear-gradient(#20e64f,#08b932)}.join-action{background:linear-gradient(#159df3,#006ccb)}.entry-panel{margin-top:18px;padding:18px;background:linear-gradient(180deg,#132235f2,#091522f7);border:1px solid #52667a;border-radius:18px;box-shadow:0 20px 55px #000a}.entry-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.entry-head small,.score-sheet-head small{display:block;font-size:9px;letter-spacing:.16em;color:#7f94aa;font-weight:900}.entry-head h2,.score-sheet-head h2{margin:3px 0 0;font-size:22px}.icon-button{width:40px;height:40px;border-radius:10px;border:1px solid #627185;background:#172433;color:#fff;font-size:28px;line-height:1;cursor:pointer}.entry-form label{display:block;margin:14px 0 7px;font-size:10px;font-weight:950;letter-spacing:.11em;color:#9db0c3}.entry-form input{width:100%;border:1px solid #596b7d;border-radius:11px;background:#081321;color:#fff;padding:15px 14px;outline:none;box-shadow:inset 0 2px 7px #0005}.entry-form input:focus{border-color:#38a8ff;box-shadow:0 0 0 3px #38a8ff22,inset 0 2px 7px #0005}.entry-form .code-input{text-transform:uppercase;letter-spacing:.2em;font-weight:900}.green-button,.blue-button,.red-button,.secondary-button{border:0;border-radius:12px;color:#fff;font-weight:950;cursor:pointer;box-shadow:inset 0 1px #ffffff4d,0 7px 16px #0005}.green-button{background:linear-gradient(#21e651,#03b936);border:1px solid #39ff6b}.blue-button{background:linear-gradient(#199af0,#0367c9);border:1px solid #36abff}.red-button{background:linear-gradient(#ef4b41,#bc1e1a);border:1px solid #ff6b61}.secondary-button{background:linear-gradient(#1a2a3b,#0c1825);border:1px solid #40556c}.entry-form .green-button,.entry-form .blue-button{width:100%;padding:15px;margin-top:16px}.form-message{min-height:18px;margin:11px 0 0;text-align:center;color:#ff8991;font-size:12px}.home-mini-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.home-mini-actions button{border:1px solid #ffffff26;background:#0a111add;color:#fff;border-radius:13px;padding:12px 8px 10px;cursor:pointer}.home-mini-actions span{display:block;font-size:25px}.home-mini-actions small{display:block;margin-top:6px;font-size:10px;color:#d1d9e2}.info-dialog{width:min(92%,450px);border:1px solid #425a71;border-radius:18px;background:#0c1826;color:#fff;padding:24px;box-shadow:0 30px 80px #000c}.info-dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:9px;border:1px solid #415368;background:#172536;color:#fff;font-size:23px}.info-dialog h2{margin:0 40px 15px 0}.info-dialog p,.info-dialog li{color:#b9c6d2;line-height:1.5;font-size:14px}.phase-dialog-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.phase-dialog-item{display:flex;gap:8px;align-items:center;border:1px solid #263b50;background:#09131e;border-radius:10px;padding:9px}.phase-dialog-item b{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;background:#20364a}.phase-dialog-item span{font-size:11px;color:#dce5ee}

/* game chrome */
.game-page{padding-bottom:max(28px,env(safe-area-inset-bottom))}.game-brandbar{position:relative;z-index:5;width:min(100%,560px);height:86px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:4px 18px}.game-brandbar .red-button{padding:11px 15px;font-size:12px}.game-shell{padding:0 15px 30px}.room-strip{display:flex;align-items:center;gap:8px;padding:8px 10px;background:linear-gradient(180deg,#0e2032,#081522);border:1px solid #29465f;border-radius:13px;box-shadow:inset 0 1px #ffffff14,0 8px 20px #0005;margin-bottom:11px}.room-code-button{display:flex;align-items:center;gap:5px;background:transparent;border:0;color:#fff;padding:4px 0;cursor:pointer}.room-code-button small{font-size:10px}.room-code-button strong{font-size:13px;letter-spacing:.05em}.room-code-button span{font-size:14px;color:#92aec5}.live-pill{margin-left:auto;color:#42ff74;font-size:11px;font-weight:900}.live-pill i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#27e95a;box-shadow:0 0 12px #27e95a;margin-right:4px}.round-pill{padding:8px 14px;border-radius:18px;background:#073c69;border:1px solid #1e7fb5;font-weight:900;font-size:12px}.connection-error{padding:9px 12px;margin-bottom:10px;border-radius:10px;background:#b72e2b;color:#fff;font-size:12px;text-align:center}.view-panel{animation:fadeIn .2s ease}@keyframes fadeIn{from{opacity:.55;transform:translateY(3px)}to{opacity:1;transform:none}}.panel-title small,.finished-card small{font-size:9px;font-weight:950;letter-spacing:.17em;color:#7f93a8}.panel-title h1{margin:4px 0 14px;font-size:26px}.center-title{text-align:center}.section-title-row{display:flex;align-items:center;justify-content:space-between}.section-title-row h2{margin:14px 0 10px;font-size:14px;letter-spacing:.015em}.section-title-row h2 span{color:#8fa4b7;font-size:12px}

/* lobby */
.room-code-card{padding:14px;text-align:center;border:1px solid #334d65;border-radius:14px;background:linear-gradient(180deg,#0f1d2c,#091522);box-shadow:inset 0 1px #ffffff13}.room-code-card>small{display:block;font-size:9px;color:#a8b7c5;font-weight:900;letter-spacing:.08em}.room-code-card button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;background:transparent;border:0;color:#fff;padding:9px 0 4px;cursor:pointer}.room-code-card strong{font-size:34px;letter-spacing:.17em}.room-code-card button span{font-size:25px;color:#8bb6d9}.room-code-card p{margin:4px 0;color:#98a9b9;font-size:11px}.lobby-players{display:grid;gap:8px}.lobby-player{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid #284157;border-radius:11px;background:linear-gradient(180deg,#122235,#091624)}.player-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--pc,#efbe00);color:#06101c;font-size:20px;font-weight:950;box-shadow:inset 0 1px #ffffff85}.lobby-player b{font-size:15px}.lobby-player small{margin-left:6px;color:#a7b6c4}.crown{color:#ffc914;font-size:13px}.remove-player{width:34px;height:34px;border-radius:8px;border:1px solid #43596e;background:#152537;color:#fff;font-size:20px;cursor:pointer}.waiting-player{opacity:.48}.waiting-player .player-avatar{background:#506071;color:#d7e0e9}.host-actions{margin-top:14px}.start-game-button{width:100%;display:grid;grid-template-columns:52px 1fr;align-items:center;text-align:left;padding:12px 18px}.start-game-button>span{grid-row:1/3;font-size:34px}.start-game-button b{font-size:18px}.start-game-button small{font-size:11px;font-weight:600}.waiting-note{text-align:center;color:#8ea1b4;font-size:12px;margin:16px 0}

/* player cards */
.game-players{display:grid;gap:8px}.game-player-card{--pc:#f2c20b;--pc2:#9a7400;display:grid;grid-template-columns:50px 1fr 68px;align-items:center;gap:10px;position:relative;border:1px solid var(--pc);border-radius:13px;padding:9px;background:linear-gradient(90deg,color-mix(in srgb,var(--pc) 15%,#07121f),#091523 55%,#06101b);box-shadow:inset 0 0 25px color-mix(in srgb,var(--pc) 8%,transparent),0 7px 14px #0004}.game-player-card.mine{box-shadow:0 0 0 2px #fff8,inset 0 0 32px color-mix(in srgb,var(--pc) 14%,transparent),0 7px 14px #0004}.game-player-card.finished-player:after{content:"PHASE 10 GESCHAFFT";position:absolute;right:8px;top:6px;font-size:7px;font-weight:950;letter-spacing:.08em;color:#fff;background:#0da93d;border:1px solid #37f36b;border-radius:99px;padding:3px 5px}.game-player-card .player-avatar{width:50px;height:50px;border-radius:11px;font-size:24px}.player-main{min-width:0}.player-name-row{display:flex;align-items:center;gap:5px}.player-name-row b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.you-badge{font-size:8px;color:#dce8f3;border:1px solid #647b90;border-radius:4px;padding:1px 4px}.phase-badge{display:inline-block;margin-top:4px;min-width:146px;background:linear-gradient(180deg,color-mix(in srgb,var(--pc) 93%,white),var(--pc));color:#07111b;border-radius:7px;padding:5px 7px;box-shadow:inset 0 1px #ffffff9c}.phase-badge strong{display:block;font-size:15px}.phase-badge small{display:block;font-size:9px;line-height:1.2;font-weight:800}.points-box{text-align:center;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.points-box small{font-size:8px;color:#c4d0dc;font-weight:800}.points-box strong{font-size:23px;margin-top:2px}

/* phase overview */
.phase-overview-card{margin-top:10px;padding:0 11px 10px;border:1px solid #24516d;border-radius:13px;background:linear-gradient(180deg,#0c2133,#081522)}.phase-overview{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.phase-overview-item{display:grid;grid-template-columns:25px 1fr;align-items:center;gap:6px;min-width:0}.phase-overview-item b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#7f9bb0;color:#06111d;font-size:11px}.phase-overview-item span{font-size:9px;color:#d8e1e9;line-height:1.18}.phase-overview-item.active b{background:#f4bd00;box-shadow:0 0 10px #eebc0066}.phase-overview-item.active span{color:#ffd83c;font-weight:900}.host-game-actions{margin-top:10px}.round-entry-button{width:100%;padding:11px 14px;display:flex;align-items:center;gap:12px;text-align:left}.round-entry-button .save-icon{font-size:30px}.round-entry-button b{display:block;font-size:16px}.round-entry-button small{display:block;font-size:9px;font-weight:600;margin-top:2px}.host-game-actions .secondary-button{width:100%;padding:10px;margin-top:7px;font-size:11px}

/* history */
.history-card{margin-top:10px;border:1px solid #284256;border-radius:13px;background:#091522;overflow:hidden}.history-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;color:#fff;padding:10px 12px;text-align:left;cursor:pointer}.history-toggle small{display:block;font-size:8px;letter-spacing:.12em;color:#8096aa}.history-toggle b{font-size:13px}.history-toggle.static{cursor:default}.history-list{border-top:1px solid #26394b;padding:3px 10px 10px}.history-round{padding:8px 0;border-bottom:1px solid #1b2c3d}.history-round:last-child{border-bottom:0}.history-round>strong{display:block;font-size:11px;color:#9eb3c5;margin-bottom:4px}.history-result{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#c8d3dd;padding:2px 0}.history-result em{font-style:normal;color:#7fe397}.history-result .failed{color:#f29a9a}

/* score modal */
.score-modal,.confirm-modal{position:fixed;inset:0;z-index:100}.score-backdrop,.confirm-backdrop{position:absolute;inset:0;background:#000b;backdrop-filter:blur(4px)}.score-sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,560px);max-height:92svh;overflow:auto;background:linear-gradient(180deg,#1b1e24,#10151c);border:1px solid #626972;border-bottom:0;border-radius:19px 19px 0 0;box-shadow:0 -20px 70px #000c;padding:13px 13px max(16px,env(safe-area-inset-bottom))}.score-sheet-head{position:sticky;top:-13px;z-index:3;display:flex;align-items:center;justify-content:space-between;background:#181c22f5;padding:11px 3px 9px;margin:-1px 0 3px;backdrop-filter:blur(12px)}.score-form{display:grid;gap:9px}.score-player{--pc:#e8b900;border:1px solid #41464d;background:linear-gradient(180deg,#20242a,#161a20);border-radius:12px;padding:10px}.score-player-head{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px}.score-player .player-avatar{width:42px;height:42px}.score-player-name b{display:block;font-size:15px}.score-player-name small{display:block;color:#c0c6cd;font-size:10px;margin-top:3px}.score-controls{display:grid;grid-template-columns:135px 1fr;align-items:end;gap:10px;margin-top:8px}.points-label{display:block;margin:0;color:#c8cdd3;font-size:9px}.points-stepper{display:grid;grid-template-columns:1fr 34px;margin-top:5px;border:1px solid #68727d;border-radius:8px;overflow:hidden;background:#11161d}.points-stepper input{width:100%;min-width:0;border:0;background:transparent;color:#fff;padding:10px;font-size:16px;outline:none}.step-buttons{display:grid;border-left:1px solid #68727d}.step-buttons button{height:20px;border:0;background:#202831;color:#fff;font-size:11px;line-height:1;cursor:pointer}.step-buttons button+button{border-top:1px solid #68727d}.complete-toggle{display:flex;align-items:center;gap:8px;min-height:43px;margin:0;padding:7px 8px;border:1px solid #59626b;border-radius:8px;background:#141a21;cursor:pointer;color:#f0f4f7;font-size:11px}.complete-toggle input{position:absolute;opacity:0;pointer-events:none}.fake-check{display:grid;place-items:center;width:25px;height:25px;border:2px solid #85909a;border-radius:5px;font-weight:950;color:transparent;background:#10151a}.complete-toggle input:checked+.fake-check{background:#0fbd3a;border-color:#3af268;color:#fff;box-shadow:0 0 10px #0fbd3a55}.complete-toggle input:focus-visible+.fake-check{outline:2px solid #fff}.score-sheet-actions{position:sticky;bottom:calc(-1 * max(16px,env(safe-area-inset-bottom)));background:linear-gradient(transparent,#11161d 20%);padding-top:14px}.score-sheet-actions .green-button,.score-sheet-actions .secondary-button{width:100%;padding:13px}.score-sheet-actions .secondary-button{margin-top:7px}.score-saving{opacity:.65;pointer-events:none}

/* finished */
.finished-card{text-align:center;padding:18px 14px;margin-bottom:11px;border:1px solid #31506a;border-radius:14px;background:linear-gradient(#0e2032,#091522)}.finish-trophy{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 8px;border-radius:50%;background:#f4bc00;color:#17202a;font-size:28px;box-shadow:0 0 25px #f4bc0066}.finished-card h1{margin:4px 0;font-size:27px}.finished-card p{margin:4px auto;color:#9fb0bf;font-size:11px}.confirm-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(90%,380px);background:#101c29;border:1px solid #405970;border-radius:15px;padding:18px;box-shadow:0 20px 60px #000b}.confirm-card h3{margin:0 0 8px}.confirm-card p{color:#aebdca;font-size:13px;line-height:1.45}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.confirm-actions button{padding:11px}

/* toast */
#toast{position:fixed;left:50%;bottom:-80px;transform:translateX(-50%);z-index:200;max-width:90%;padding:11px 16px;border-radius:99px;background:#f8fbff;color:#101820;font-size:12px;font-weight:900;box-shadow:0 13px 40px #000a;transition:.22s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#toast.show{bottom:max(20px,env(safe-area-inset-bottom))}

@media(min-width:700px){body:before{content:"";position:fixed;inset:0;background:linear-gradient(90deg,#0006,transparent 25% 75%,#0006);pointer-events:none;z-index:1}.start-shell{padding-top:70px}.game-brandbar,.game-shell{border-left:1px solid #ffffff09;border-right:1px solid #ffffff09;background:#06101dcc}.game-shell{min-height:calc(100svh - 86px);padding-top:2px}}
@media(max-width:390px){.start-shell{padding-left:14px;padding-right:14px}.phase-word{font-size:50px}.phase-ten{font-size:74px}.room-code-card strong{font-size:29px}.game-player-card{grid-template-columns:44px 1fr 58px}.game-player-card .player-avatar{width:44px;height:44px}.phase-badge{min-width:130px}.phase-badge strong{font-size:13px}.points-box strong{font-size:20px}.score-controls{grid-template-columns:118px 1fr}.phase-overview{gap:4px 7px}.phase-overview-item span{font-size:8px}}
