@import "https://fonts.googleapis.com/css2?family=Newsreader:ital,wght@0,400;0,500;0,600;1,400&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-serif:"Newsreader", Georgia, "Times New Roman", serif;--bg:oklch(13% .01 260);--surface:oklch(20% .012 260);--surface-alt:oklch(24% .012 260);--surface-alt2:oklch(26% .012 260);--border:oklch(32% .012 260);--border-strong:oklch(36% .012 260);--border-selected:oklch(97% .004 260);--text:oklch(93% .006 260);--text-muted:oklch(64% .008 260);--text-muted2:oklch(62% .008 260);--btn-bg:oklch(92% .006 260);--btn-text:oklch(14% .01 260);--accent:oklch(55% .14 300);--accent-mid:oklch(50% .14 300);--accent-bright:oklch(72% .13 300);--accent-soft-bg:oklch(28% .04 300/.4);--match-strong:oklch(55% .12 150);--match-partial:oklch(68% .14 300);--match-possible:oklch(75% .14 80);--match-none:oklch(68% .16 30);background:var(--bg);color:var(--text);font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(1100px 750px at 15% -10%, oklch(32% .09 300/.35), transparent 60%), radial-gradient(900px 650px at 100% 0%, oklch(22% .01 260/.4), transparent 55%), var(--bg);min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled,textarea:disabled,select:disabled,input:disabled{cursor:not-allowed;opacity:.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}.boot{min-height:100vh;color:var(--text-muted);place-items:center;display:grid}.app-shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:28px;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0}.brand{color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.brand-mark{filter:drop-shadow(0 0 5px oklch(60% .14 300/.5));flex-shrink:0;width:42px;height:26px;position:relative}.brand-mark .eye-outer{background:var(--border-selected);border-radius:0 50%;width:28px;height:28px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(135deg)}.brand-mark .eye-pupil{background:oklch(8% .01 260);border-radius:50%;width:11px;height:11px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.brand-word{font-family:var(--font-serif);letter-spacing:.01em;font-size:19px;font-weight:600}.new-session-btn{cursor:pointer;text-align:center;background:var(--btn-bg);color:var(--btn-text);border:0;border-radius:10px;padding:11px;font-size:14px;font-weight:600}.nav{flex-direction:column;gap:2px;display:flex}.nav button{text-align:left;color:var(--text-muted2);background:0 0;border:0;border-radius:9px;padding:9px 12px;font-size:14px;font-weight:600}.nav button.active{background:var(--accent-soft-bg);color:var(--accent)}.sidebar-footer{border-top:1px solid var(--border);gap:12px;margin-top:auto;padding-top:16px;display:grid}.user-card{align-items:center;gap:10px;display:flex}.user-card small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:150px;margin-top:2px;display:block;overflow:hidden}.avatar{color:oklch(14% .01 260);background:oklch(82% .05 300);border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.avatar-plain{background:var(--border)}.attempt-bar{z-index:20;box-sizing:border-box;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 24px;display:flex;position:fixed;top:0;left:0}.attempt-bar-ref{font-family:var(--font-serif);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.attempt-bar-ref span{letter-spacing:1px;color:var(--text);font-family:monospace;font-size:15px}.attempt-bar-right{flex-shrink:0;align-items:center;gap:12px;display:flex}.attempt-timer{font-family:monospace;font-size:19px;font-weight:600}.attempt-timer.warn{color:var(--match-none)}.finish-btn{cursor:pointer;background:var(--btn-bg);color:var(--btn-text);white-space:nowrap;border:0;border-radius:9px;padding:9px 14px;font-size:13px;font-weight:600}.main-content,.main-content.with-sidebar{padding:0}.main-content.attempt-mode{padding-top:0}.page{max-width:1180px;margin:0 auto;padding:48px 40px}.panel{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:24px}.muted{color:var(--text-muted);line-height:1.55}.small{font-size:13px}.eyebrow{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-size:12px;font-weight:600}.page-header{margin-bottom:24px}.page-header h1{font-family:var(--font-serif);margin:0 0 4px;font-size:26px;font-weight:500}.centered-panel{text-align:center;max-width:520px;margin:72px auto}.landing{place-items:center;min-height:100vh;padding:24px;display:grid}.hero-card{border:1px solid var(--border);background:var(--surface);border-radius:20px;max-width:640px;padding:36px}.hero-card h1{font-family:var(--font-serif);margin:8px 0 16px;font-size:clamp(32px,5vw,48px);font-weight:500;line-height:1.1}.hero-copy{color:var(--text-muted);font-size:16px;line-height:1.6}.primary,.secondary,.danger{cursor:pointer;border:0;border-radius:10px;padding:12px 18px;font-size:14px;font-weight:600}.primary{background:var(--btn-bg);color:var(--btn-text)}.secondary{border:1px solid var(--border-strong);color:var(--text);background:0 0}.danger{color:var(--match-none);background:0 0;border:0;font-weight:600}.full{width:100%}.actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.error,.notice{border-radius:12px;margin-bottom:18px;padding:14px 16px;font-size:13px}.error{color:oklch(85% .1 30);background:oklch(68% .16 30/.14);border:1px solid oklch(68% .16 30/.4)}.notice{background:var(--match-strong) / .1;border:1px solid var(--match-strong);color:oklch(85% .1 150)}label{color:var(--text);margin:0 0 6px;font-size:13px;font-weight:600;display:block}input,textarea,select{width:100%;color:var(--text);border:1px solid var(--border-strong);background:var(--surface);box-sizing:border-box;border-radius:9px;outline:none;padding:11px 14px;font-size:14px}textarea{resize:vertical;min-height:70px}input[type=range]{width:100%;accent-color:var(--accent);background:0 0;padding:0}.stripe-swatch{background:repeating-linear-gradient(45deg, var(--border) 0, var(--border) 4px, var(--surface-alt) 4px, var(--surface-alt) 8px)}.stripe-swatch-lg{background:repeating-linear-gradient(135deg, oklch(30% .012 260) 0, oklch(30% .012 260) 10px, var(--surface-alt) 10px, var(--surface-alt) 20px)}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.page{padding:24px 20px}}.dashboard-page{max-width:960px}.dashboard-page .page-header h1{margin-bottom:6px;font-size:32px}.dashboard-page .page-header p{margin:0 0 36px;font-size:15px}.resume-banner{cursor:pointer;border:1px solid var(--accent-bright);background:oklch(93% .04 300/.5);border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:28px;padding:18px 22px;display:flex}.resume-banner-title{font-size:15px;font-weight:600}.resume-banner-sub{color:var(--text-muted);font-size:13px}.resume-banner-cta{color:var(--accent-mid);font-size:13px;font-weight:600}.action-cards{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:44px;display:grid}.action-card{cursor:pointer;background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:16px;padding:26px}.action-card:hover{border-color:var(--accent-bright)}.action-card .eyebrow{font-weight:600}.action-card h3{font-family:var(--font-serif);margin:0 0 6px;font-size:21px;font-weight:400}.action-card p{color:var(--text-muted);margin:0;font-size:14px}.section-label{margin-bottom:14px;font-size:14px;font-weight:600}.result-list,.session-list{flex-direction:column;gap:10px;display:flex}.result-row,.session-row{cursor:pointer;background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.result-row-left{align-items:center;gap:14px;display:flex}.result-thumb{border-radius:9px;flex-shrink:0;width:38px;height:38px}.result-title{font-size:14px;font-weight:600}.result-meta{color:var(--text-muted);font-size:12px}.result-score{font-family:monospace;font-size:18px;font-weight:600}.result-score.good{color:var(--match-strong)}.result-score.ok{color:var(--match-partial)}@media (width<=700px){.action-cards{grid-template-columns:1fr}}.create-page{max-width:640px}.create-page .page-header h1{margin-bottom:28px;font-size:26px}.wizard-steps{flex-direction:column;gap:14px;display:flex}.type-card{cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px}.type-card.selected{border:2px solid var(--border-selected)}.type-card h3{font-family:var(--font-serif);margin:0 0 4px;font-size:19px;font-weight:400}.type-card p{color:var(--text-muted);margin:0;font-size:14px}.wizard-field{flex-direction:column;gap:6px;display:flex}.wizard-field-label{font-size:13px;font-weight:600}.wizard-actions{gap:10px;margin-top:8px;display:flex}.wizard-actions .secondary{text-align:center;flex:1}.wizard-actions .primary{text-align:center;flex:2}.review-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:10px;padding:22px;display:flex}.review-card h3{font-family:var(--font-serif);margin:0;font-size:19px;font-weight:400}.review-stats{gap:24px;margin-top:6px;font-size:13px;display:flex}.review-stats span{color:var(--text-muted);display:block}.public-page{gap:32px;max-width:1160px;display:flex}.public-list-col{flex:1.3}.public-detail-col{flex:1;align-self:flex-start;position:sticky;top:48px}.public-session-card{cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:18px 20px}.public-session-card.selected{border:2px solid var(--border-selected)}.public-session-top{justify-content:space-between;align-items:baseline;display:flex}.public-session-title{font-size:15px;font-weight:600}.public-status{font-size:12px;font-weight:600}.public-status.open{color:var(--match-strong)}.public-status.closed{color:var(--text-muted2)}.public-session-creator{color:var(--text-muted);margin:4px 0 10px;font-size:13px}.public-session-meta{color:var(--text-muted);justify-content:space-between;font-size:12px;display:flex}.detail-title{font-family:var(--font-serif);margin:0 0 6px;font-size:20px;font-weight:400}.detail-desc{color:var(--text-muted);margin-bottom:14px;font-size:13px}.detail-rows{flex-direction:column;gap:8px;margin-bottom:18px;font-size:13px;display:flex}.detail-row{justify-content:space-between;display:flex}.detail-row span{color:var(--text-muted)}.detail-note{color:var(--text-muted);margin-bottom:16px;font-size:12px}.detail-full{text-align:center;background:var(--surface-alt2);color:var(--text-muted);border-radius:10px;padding:12px;font-size:14px;font-weight:600}.waiting-page{text-align:center;max-width:560px;margin:80px auto;padding:0 40px}.waiting-badge{letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:600}.waiting-badge.private{color:var(--accent-bright)}.waiting-badge.public{color:var(--accent-mid)}.waiting-title{font-family:var(--font-serif);margin:0 0 10px;font-size:28px;font-weight:400}.waiting-sub{color:var(--text-muted);margin-bottom:30px;font-size:14px}.waiting-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-bottom:24px;padding:28px}.waiting-card-note{color:var(--text-muted);margin-bottom:16px;font-size:13px}.waiting-stats{justify-content:center;gap:32px;font-size:13px;display:flex}.waiting-stats b{font-size:18px;display:block}.modal-overlay{z-index:50;background:oklch(20% .02 50/.4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border-radius:16px;max-width:400px;padding:28px}.modal-title{font-family:var(--font-serif);margin:0 0 10px;font-size:19px;font-weight:400}.modal-body{color:var(--text-muted);margin-bottom:22px;font-size:14px}.modal-actions{gap:10px;display:flex}.modal-actions>*{text-align:center;flex:1}.attempt-page{gap:28px;max-width:1180px;padding:88px 40px 60px;display:flex}.attempt-main{flex-direction:column;flex:1.15;gap:18px;display:flex}.attempt-field-label{margin-bottom:6px;font-size:13px;font-weight:600}.category-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px}.category-label{margin-bottom:10px;font-size:13px;font-weight:600}.tag-chip-list{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.tag-chip{cursor:pointer;border:1px solid var(--border-selected);background:var(--surface-alt);color:var(--text-muted2);border-radius:999px;padding:6px 12px;font-size:12.5px}.tag-chip.selected{border-color:var(--accent);background:var(--accent);color:#fff}.drawing-panel-col{flex:1;align-self:flex-start;position:sticky;top:88px}.drawing-panel-header{justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.drawing-slot-tabs{gap:6px;margin-bottom:12px;display:flex}.drawing-slot-tab{cursor:pointer;text-align:center;background:var(--surface-alt);color:var(--text-muted2);border:0;border-radius:8px;flex:1;padding:7px;font-size:12px;font-weight:600}.drawing-slot-tab.selected{background:var(--accent);color:#fff}.drawing-canvas{border:1px solid var(--border-strong);touch-action:none;cursor:crosshair;border-radius:10px;width:100%;height:auto;display:block}.drawing-tools{align-items:center;gap:6px;margin-top:12px;display:flex}.tool-btn{cursor:pointer;background:var(--surface-alt);color:var(--text-muted2);border:0;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:600}.tool-btn.selected{background:var(--accent);color:#fff}.tool-plain-btn{cursor:pointer;color:var(--text);background:0 0;border:0;padding:7px 10px;font-size:12px;font-weight:600}.tool-plain-btn.clear{color:var(--match-none)}@media (width<=900px){.public-page,.attempt-page{flex-direction:column}.drawing-panel-col,.public-detail-col{position:static}}.reveal-page{gap:32px;max-width:1040px;display:flex}.reveal-main{flex:1;min-width:0}.back-link{cursor:pointer;color:var(--text-muted);margin-bottom:16px;font-size:13px;font-weight:600}.reveal-eyebrow{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:12px;font-weight:600}.reveal-target-image,.reveal-target-placeholder{aspect-ratio:4/3;object-fit:cover;width:100%;color:var(--text-muted);border-radius:14px;justify-content:center;align-items:center;margin-bottom:14px;font-family:monospace;font-size:12px;display:flex}.reveal-target-title{font-family:var(--font-serif);margin:0 0 6px;font-size:20px;font-weight:400}.reveal-target-desc{color:var(--text-muted);margin-bottom:22px;font-size:13px}.reveal-section-label{margin:20px 0 10px;font-size:13px;font-weight:600}.reveal-section-label:first-of-type{margin-top:0}.category-result-card{border:1px solid var(--border);border-radius:12px;margin-bottom:8px;padding:14px 16px}.category-result-top{justify-content:space-between;margin-bottom:4px;display:flex}.category-result-label,.category-result-score{font-size:13px;font-weight:600}.category-result-summary{color:var(--text-muted);font-size:12.5px}.drawing-results-row{flex-wrap:wrap;gap:10px;display:flex}.drawing-result-card{border:1px solid var(--border);border-radius:12px;flex:1;min-width:140px;padding:12px}.drawing-result-thumb{background:#fdfcfa;border-radius:8px;width:100%;margin-bottom:8px;display:block}.drawing-result-label{margin-bottom:4px;font-size:12px;font-weight:600}.drawing-result-summary{color:var(--text-muted);font-size:12.5px}.score-panel-col{flex-shrink:0;width:300px}.score-panel{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;padding:24px;position:sticky;top:48px}.score-panel-label{color:var(--text-muted);margin-bottom:8px;font-size:12px}.score-numeral{font-family:var(--font-serif);color:var(--accent-bright);font-size:52px;font-weight:500;line-height:1}.score-panel-note{color:var(--text-muted);margin:6px 0 18px;font-size:12px}.score-stats{color:var(--text-muted);text-align:left;border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:14px;font-size:12px;display:flex}.score-stat-row{justify-content:space-between;display:flex}.score-stat-row b{color:var(--text)}.adjust-panel{border-top:1px solid var(--border);text-align:left;margin-top:16px;padding-top:16px}.adjust-panel-label{margin-bottom:8px;font-size:12px;font-weight:600}.adjust-panel input[type=text],.adjust-panel input:not([type]){margin-bottom:8px;padding:8px 10px;font-size:12.5px}.adjust-panel-actions{gap:8px;display:flex}.adjust-panel-actions>*{text-align:center;flex:1;padding:9px;font-size:12.5px}.original-score-note{border-top:1px solid var(--border);text-align:left;margin-top:16px;padding-top:16px;font-size:12px}.original-score-note-top{justify-content:space-between;margin-bottom:4px;display:flex}.back-dashboard-link{cursor:pointer;text-align:center;color:var(--accent-bright);margin-top:18px;font-size:13px;font-weight:600}@media (width<=900px){.reveal-page{flex-direction:column}.score-panel-col{width:100%}.score-panel{position:static}}.history-page{max-width:880px}.history-page .page-header h1{margin-bottom:18px}.filter-pills{gap:8px;margin-bottom:20px;display:flex}.filter-pill{cursor:pointer;background:var(--surface-alt2);color:var(--text-muted2);border:0;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600}.filter-pill.active{background:var(--accent);color:#fff}.history-row-right{text-align:right}.history-time{color:var(--text-muted);font-size:11.5px}.profile-page{max-width:520px}.profile-page .page-header h1{margin-bottom:24px}.profile-header{align-items:center;gap:16px;margin-bottom:28px;display:flex}.profile-avatar-lg{background:oklch(82% .05 300);border-radius:50%;flex-shrink:0;width:56px;height:56px}.profile-header-name{font-size:15px;font-weight:600}.profile-header-email{color:var(--text-muted);font-size:13px}.profile-fields{flex-direction:column;gap:16px;display:flex}.segmented-control{gap:8px;display:flex}.segmented-option{cursor:pointer;text-align:center;background:var(--surface-alt2);color:var(--text-muted2);border:0;border-radius:9px;flex:1;padding:9px;font-size:12.5px;font-weight:600}.segmented-option.selected{background:var(--accent);color:#fff}.settings-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.ios-toggle{cursor:pointer;box-sizing:border-box;border:0;border-radius:999px;width:42px;height:24px;padding:2px}.ios-toggle.on{background:var(--accent)}.ios-toggle.off{background:var(--border-strong)}.ios-toggle-knob{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s}.ios-toggle.on .ios-toggle-knob{transform:translate(18px)}.ios-toggle.off .ios-toggle-knob{transform:translate(0)}.leaderboard-page{max-width:680px}.leaderboard-page .page-header h1{margin-bottom:18px}.pill-toggle{gap:8px;margin-bottom:22px;display:inline-flex}.pill-toggle button{cursor:pointer;background:var(--surface-alt2);color:var(--text-muted2);border:0;border-radius:999px;padding:9px 18px;font-size:13px;font-weight:600}.pill-toggle button.active{background:var(--border-selected);color:var(--btn-text)}.leaderboard-me-row{background:var(--surface-alt);border:2px solid var(--border-selected);border-radius:14px;align-items:center;gap:14px;margin-bottom:20px;padding:16px 20px;display:flex}.leaderboard-me-row .rank{text-align:center;width:36px;color:var(--accent-bright);font-family:monospace;font-size:17px;font-weight:600}.leaderboard-me-row .avatar{width:42px;height:42px}.leaderboard-name{flex:1;min-width:0}.leaderboard-name strong{font-size:14.5px;font-weight:600;display:block}.leaderboard-name small{color:var(--text-muted);font-size:12.5px}.leaderboard-list{flex-direction:column;gap:4px;display:flex}.leaderboard-row{border-bottom:1px solid var(--surface-alt);align-items:center;gap:14px;padding:9px 6px;display:flex}.leaderboard-row .rank{text-align:center;width:32px;color:var(--text-muted);font-family:monospace;font-size:13.5px;font-weight:600}.leaderboard-row .rank.top3{color:var(--accent-bright)}.leaderboard-row .avatar{width:32px;height:32px}.leaderboard-row .leaderboard-name{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.leaderboard-row .country-code{color:var(--text-muted2);width:30px;font-size:12px}.leaderboard-row .leaderboard-score{text-align:right;width:32px;font-family:monospace;font-size:13.5px;font-weight:600}
