:root{--ink:#152525;--muted:#65726d;--cream:#f7f5ee;--paper:#fffdf7;--line:#1525251f;--green:#176b5b;--green-dark:#0d4f45;--coral:#ef7d63;--yellow:#f2c84b;--sky:#61a9d2;--mint:#72bca2}*{box-sizing:border-box}html{background:var(--cream)}body{background:linear-gradient(#15252507 1px, transparent 1px), linear-gradient(90deg, #15252507 1px, transparent 1px), var(--cream);color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;background-size:42px 42px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}.app-shell{min-height:100vh;position:relative;overflow:hidden}.ambient{filter:blur(2px);opacity:.42;pointer-events:none;z-index:0;border-radius:999px;position:fixed}.ambient-one{background:#f2c84b;width:360px;height:360px;top:12%;right:-180px}.ambient-two{background:#88cbb3;width:280px;height:280px;bottom:4%;left:-180px}.topbar,.page-frame,footer{z-index:1;position:relative}.topbar{justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:28px 34px;display:flex}.brand{cursor:pointer;letter-spacing:-.03em;background:0 0;border:0;align-items:center;gap:11px;font-size:18px;font-weight:760;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:10px 10px 10px 3px;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;display:flex;transform:rotate(-3deg)}.text-button,.back-button{color:var(--green-dark);cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:720}.text-button{border-bottom:1px solid;padding:5px 0}.page-frame{max-width:1280px;min-height:calc(100vh - 180px);margin:0 auto;padding:36px 34px 72px}.login-layout{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);align-items:center;gap:clamp(48px,9vw,132px);min-height:620px;display:grid}.hero-copy{padding-left:clamp(0px,4vw,62px)}.eyebrow{color:var(--green);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.hero-copy h1,.section-heading h1,.board-heading h1{letter-spacing:-.055em;margin:20px 0;font-family:Georgia,Times New Roman,serif;font-weight:400;line-height:.96}.hero-copy h1{font-size:clamp(54px,7vw,92px)}.hero-copy h1 em{color:var(--green);font-weight:400}.hero-copy>p{color:var(--muted);max-width:490px;margin:0;font-size:17px;line-height:1.7}.mini-board{grid-template-columns:repeat(4,1fr);gap:9px;max-width:500px;margin-top:48px;display:grid;transform:rotate(-1deg)}.mini-board>div{background:var(--paper);border:1px solid var(--line);border-radius:18px 18px 8px 8px;gap:7px;padding:10px;display:grid;box-shadow:0 16px 35px #19322e14}.mini-board b{color:#fff;border-radius:9px;justify-content:center;align-items:center;height:34px;display:flex}.mini-board i{background:#15252512;border-radius:5px;height:10px}.column-a b,.column-a legend span,.column-a.game-column h2 span{background:var(--coral)}.column-b b,.column-b legend span,.column-b.game-column h2 span{background:var(--yellow);color:var(--ink)}.column-c b,.column-c legend span,.column-c.game-column h2 span{background:var(--sky)}.column-d b,.column-d legend span,.column-d.game-column h2 span{background:var(--mint)}.auth-card{background:#fffdf7ed;border:1px solid #1525251a;border-radius:28px 28px 28px 10px;padding:42px;position:relative;box-shadow:0 32px 80px #1d38341f}.auth-card:before{background:var(--coral);content:"";border-radius:4px;width:58px;height:8px;position:absolute;top:-4px;left:42px;transform:rotate(-2deg)}.card-kicker{color:var(--green);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:800}.auth-card h2{letter-spacing:-.045em;margin:10px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:38px;font-weight:400}.auth-card>p{color:var(--muted);margin:0 0 30px;font-size:14px}.auth-card label,.solution-input,.final-editor label{color:#43514c;gap:8px;margin-top:18px;font-size:12px;font-weight:720;display:grid}input{color:var(--ink);background:#fff;border:1px solid #15252524;border-radius:10px;outline:none;padding:13px 14px;transition:border-color .16s,box-shadow .16s}input:focus{border-color:var(--green);box-shadow:0 0 0 3px #176b5b1c}input::placeholder{color:#adb4b0}.primary-button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:11px;justify-content:space-between;align-items:center;width:100%;min-height:50px;margin-top:28px;padding:0 18px;font-weight:740;transition:background .16s,transform .16s;display:flex}.primary-button:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px)}.primary-button:disabled{cursor:wait;opacity:.65}.dashboard{max-width:1000px;margin:0 auto;padding-top:44px}.section-heading{text-align:center}.section-heading .eyebrow{justify-content:center}.section-heading h1{font-size:clamp(48px,6vw,72px)}.section-heading p,.board-heading p{color:var(--muted);font-size:16px;line-height:1.6}.choice-grid{grid-template-columns:repeat(2,1fr);gap:22px;margin-top:56px;display:grid}.choice-card{background:var(--paper);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:28px 28px 12px;min-height:300px;padding:34px;transition:box-shadow .18s,transform .18s;display:grid;position:relative;overflow:hidden}.choice-card:hover{transform:translateY(-5px)rotate(-.3deg);box-shadow:0 24px 60px #18373121}.choice-icon{border-radius:15px;justify-content:center;align-items:center;width:52px;height:52px;font-size:20px;display:flex}.play-choice .choice-icon{color:#327fa9;background:#61a9d22e}.create-choice .choice-icon{color:#ce5d44;background:#ef7d632e}.choice-number{color:#1525251f;font-family:Georgia,serif;font-size:74px;position:absolute;top:18px;right:26px}.choice-card strong{letter-spacing:-.04em;margin-top:30px;font-family:Georgia,serif;font-size:38px;font-weight:400}.choice-card small{color:var(--muted);max-width:300px;font-size:14px;line-height:1.6}.choice-link{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:28px;padding-top:19px;font-size:13px;font-weight:760;display:flex}.back-button{align-items:center;gap:8px;margin-bottom:34px;display:flex}.board-heading{justify-content:space-between;align-items:end;margin-bottom:34px;display:flex}.board-heading h1{margin-bottom:12px;font-size:clamp(46px,6vw,68px)}.board-heading p{margin:0}.id-field{background:var(--paper);border:1px solid var(--line);border-radius:15px;flex:0 0 160px;gap:6px;padding:12px;display:grid}.id-field span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.id-field input{font-family:var(--font-geist-mono), monospace;border:0;padding:3px;font-size:22px;font-weight:750}.id-field input:focus{box-shadow:none}.editor-grid,.game-grid{grid-template-columns:repeat(4,1fr);gap:13px;display:grid}.editor-column{border:1px solid var(--line);background:#fffdf7e0;border-radius:20px;min-width:0;margin:0;padding:14px}.editor-column legend{align-items:center;gap:9px;margin-left:3px;padding:0 6px;display:flex}.editor-column legend span{color:#fff;border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.editor-column legend b{font-size:13px}.clue-input{grid-template-columns:24px 1fr;align-items:center;margin-top:9px;display:grid}.clue-input span{color:#93a09b;font-family:var(--font-geist-mono), monospace;font-size:11px}.clue-input input{width:100%;min-width:0;padding:11px}.solution-input{border-top:1px dashed var(--line);margin-top:15px;padding-top:14px}.solution-input input{background:#176b5b0e;border-color:#176b5b33;width:100%;font-weight:700}.final-editor{background:var(--ink);border-radius:18px 18px 18px 7px;grid-template-columns:1fr 260px;align-items:end;gap:24px;margin-top:16px;padding:18px;display:grid}.final-editor label{color:#fff;margin:0}.final-editor input{font-size:16px;font-weight:700}.save-button{background:var(--coral);margin:0}.save-button:hover:not(:disabled){background:#d9674e}.play-top{grid-template-columns:1fr 330px;align-items:end;gap:28px;display:grid}.compact-heading{margin:0}.load-form{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px}.load-form>label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.load-form>div{grid-template-columns:1fr auto;gap:8px;display:grid}.load-form input{min-width:0}.load-form button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:0 19px;font-weight:750}.load-form small{color:var(--muted);margin-top:9px;font-size:10px;display:block}.empty-board{text-align:center;background:#fffdf79e;border:1px dashed #15252533;border-radius:24px;flex-direction:column;align-items:center;min-height:330px;margin-top:38px;padding:50px;display:flex}.empty-symbol{color:var(--green);background:#176b5b1a;border-radius:20px;justify-content:center;align-items:center;width:76px;height:76px;font-size:28px;display:flex;transform:rotate(-4deg)}.empty-board h2{margin:22px 0 8px;font-family:Georgia,serif;font-size:30px;font-weight:400}.empty-board p{color:var(--muted);margin:0}.game-status{text-transform:uppercase;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin:34px 0 18px;font-size:11px;display:grid}.progress-track{background:#15252514;border-radius:99px;height:5px;overflow:hidden}.progress-track i{background:var(--green);height:100%;transition:width .25s;display:block}.game-column{min-width:0}.game-column h2{align-items:center;gap:8px;margin:0 0 9px;font-size:12px;display:flex}.game-column h2 span{color:#fff;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.reveal-card,.column-solution,.final-solution{background:var(--paper);border:1px solid var(--line);cursor:pointer;transition:transform .16s,box-shadow .16s;position:relative;overflow:hidden}.reveal-card{text-align:left;border-radius:12px;grid-template-columns:25px 1fr;align-items:center;gap:8px;width:100%;min-height:62px;margin-top:8px;padding:11px;display:grid}.reveal-card:hover,.column-solution:hover,.final-solution:hover{transform:translateY(-2px);box-shadow:0 10px 26px #18373117}.clue-number{color:#8d9995;font-family:var(--font-geist-mono), monospace;background:#1525250f;border-radius:6px;justify-content:center;align-items:center;height:25px;font-size:10px;display:flex}.reveal-card strong{color:#9ba5a1;font-size:11px;font-weight:600}.reveal-card.is-revealed strong{color:var(--ink);font-size:14px;font-weight:750}.column-solution{color:var(--green);text-align:left;border-color:#176b5b2e;border-radius:12px;gap:4px;width:100%;min-height:64px;margin-top:10px;padding:11px;display:grid}.column-solution small,.final-solution small{letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.column-solution strong{font-family:Georgia,serif;font-size:16px;font-weight:400}.column-solution.is-revealed{background:var(--green);color:#fff}.final-solution{text-align:left;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;min-height:76px;margin-top:14px;padding:14px 20px;display:grid}.final-solution>span{background:var(--yellow);border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.final-solution strong{color:var(--green);font-family:Georgia,serif;font-size:21px;font-weight:400}.final-solution.is-revealed{background:var(--ink);color:#fff}.final-solution.is-revealed strong{color:var(--yellow);font-size:27px}.notice{z-index:10;border-radius:12px;align-items:center;gap:11px;max-width:calc(100% - 36px);padding:13px 17px;font-size:13px;font-weight:680;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 15px 45px #1525252e}.notice span{border:1px solid;border-radius:50%;flex:0 0 21px;justify-content:center;align-items:center;height:21px;display:flex}.notice-success{background:var(--green);color:#fff}.notice-error{color:#fff;background:#9d3d35}.loading-card{flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.loading-orbit{background:var(--green);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;animation:1.5s ease-in-out infinite orbit;display:flex}.loading-card p{color:var(--muted);font-size:13px}footer{color:#78847f;letter-spacing:.12em;text-transform:uppercase;justify-content:center;gap:18px;padding:22px;font-size:10px;font-weight:700;display:flex}footer span:not(:last-child):after{color:var(--coral);content:"·";margin-left:18px}@keyframes orbit{50%{transform:rotate(12deg)scale(1.08)}}@media (width<=980px){.login-layout{grid-template-columns:1fr 380px;gap:40px}.hero-copy h1{font-size:58px}.editor-grid,.game-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.topbar{padding:20px}.page-frame{padding:24px 20px 60px}.login-layout,.choice-grid,.play-top{grid-template-columns:1fr}.login-layout{min-height:auto}.hero-copy{padding:24px 0 0}.hero-copy h1{font-size:52px}.mini-board{margin-top:30px}.auth-card{padding:30px 24px}.dashboard{padding-top:20px}.section-heading h1{font-size:48px}.choice-grid{margin-top:36px}.choice-card{min-height:265px}.board-heading{flex-direction:column;align-items:stretch;gap:20px}.id-field{flex-basis:auto}.final-editor{grid-template-columns:1fr}.game-status{grid-template-columns:1fr auto}.game-status .progress-track{grid-area:2/1/auto/-1}}@media (width<=520px){.brand{font-size:16px}.hero-copy h1,.section-heading h1,.board-heading h1{font-size:42px}.mini-board{gap:5px}.mini-board>div{padding:6px}.editor-grid,.game-grid{grid-template-columns:1fr}.choice-card{padding:26px}.final-solution{grid-template-columns:auto 1fr}.final-solution strong{grid-column:1/-1}footer{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.loading-orbit{animation:none}}
