@charset "UTF-8";
:root{--ink:#303838;--muted:#6c7165;--paper:#f4ecd8;--paper-light:#fffaed;--ground:#e5decb;--line:#c8bea3;--navy:#254b55;--teal:#436f70;--sea:#d9e5dd;--gold:#d4a64d;--gold-light:#f1d590;--rust:#985c45;--p1:#337f87;--p2:#a46343;--shadow:#c8bda1;--pixel-font:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-family:"Trebuchet MS",Arial,sans-serif;font-size:15px;color:var(--ink);background:var(--ground);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:320px;background-image:radial-gradient(#b6ad941e 1px,transparent 1px);background-size:6px 6px}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:3px solid #be6d29;outline-offset:4px}button{border:2px solid var(--navy);border-radius:2px;background:var(--paper-light);color:var(--navy);padding:10px 14px;font-weight:700;box-shadow:0 3px 0 #254b5525;transition:background .12s,transform .12s}button:hover:not(:disabled){background:var(--gold-light)}button:active:not(:disabled){transform:translateY(2px);box-shadow:none}a{color:var(--teal);text-underline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2}small{font-size:.78rem}.primary{background:var(--navy);color:var(--paper-light)}.primary:hover:not(:disabled){background:#356772}.gold-button{background:var(--gold-light)}.quiet{background:transparent;border-color:transparent;box-shadow:none;padding:8px 10px;font-weight:600}.quiet:hover:not(:disabled){background:#254b550b}.tiny{padding:6px 9px;font-size:.76rem}.eyebrow{font-family:var(--pixel-font);font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted)}.muted{color:var(--muted)}.mono{font-family:var(--pixel-font)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:12px;z-index:99;background:var(--paper-light);padding:12px}.skip-link:focus{top:12px}.boot-screen{max-width:650px;margin:15vh auto;text-align:center;padding:30px}.boot-screen h1{font-family:var(--pixel-font);font-size:2rem;margin:16px 0}.boot-screen p{line-height:1.7;margin:12px 0}.boot-mark{color:var(--gold);font-size:4rem;text-shadow:4px 4px var(--navy)}.fatal{margin:20px;padding:20px;background:#fff0d2;border:2px solid var(--rust)}
.topbar{background:var(--navy);border-bottom:5px solid var(--gold);color:#fff5db}.topbar-inner{max-width:1480px;margin:auto;padding:17px 30px;display:flex;align-items:center;gap:16px}.brand-icon{width:44px;height:44px;flex:none;image-rendering:pixelated}.brand{flex:1;min-width:0}.brand h1{font-family:var(--pixel-font);font-size:1.1rem;letter-spacing:-.04em}.brand-sub{font-size:.66rem;color:#b5ccca;letter-spacing:.17em;margin-top:6px;font-family:var(--pixel-font)}.version-tag{color:var(--gold-light);font-family:var(--pixel-font);font-size:.64rem;border:1px solid #d4a64d80;padding:5px 7px;white-space:nowrap}.topnav{display:flex;align-items:center;gap:8px}.topnav button{color:#fff2d4;font-size:.8rem;border-color:#fff2d43b;background:transparent;box-shadow:none;padding:8px 11px}.topnav button:hover{color:var(--navy);background:var(--gold-light)}.topnav .connection{color:#c1d8cd}.connection{font-size:.7rem;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.connection::before{content:"";width:6px;height:6px;background:#72b49d;display:inline-block}.connection.offline::before{background:#db9068}.connection.pending::before{background:var(--gold)}
.page{max-width:1480px;margin:auto;padding:23px 30px 30px}.intro-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.intro-strip h2{font-size:1.5rem;letter-spacing:-.04em;margin-top:5px}.intro-strip p{font-size:.86rem;color:var(--muted);margin-top:7px}.facts{display:flex;gap:20px;flex:none}.fact{display:flex;align-items:center;gap:9px;font-size:.73rem}.fact b{font-family:var(--pixel-font);font-size:1.1rem;color:var(--navy)}.fact span{max-width:70px;line-height:1.35;color:var(--muted)}
.score-row{display:grid;grid-template-columns:1fr 210px 1fr;gap:12px;margin-bottom:18px}.player-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--paper);border:1px solid var(--line);border-bottom:3px solid var(--shadow);position:relative}.player-card.active{border-color:var(--navy);background:var(--paper-light)}.player-card.active::before{content:"";height:3px;position:absolute;top:-1px;left:-1px;right:-1px;background:var(--gold)}.player-avatar{flex:none;width:34px;height:38px}.player-details{flex:1;min-width:0}.player-name{font-weight:700;font-size:.9rem;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.you-tag{font-size:.61rem;font-weight:400;background:#254b5512;padding:2px 4px}.player-place{font-size:.74rem;color:var(--muted);margin-top:5px}.score-number{font-family:var(--pixel-font);font-weight:700;font-size:1.55rem;line-height:1;text-align:right;color:var(--navy)}.score-number small{display:block;font-family:"Trebuchet MS",sans-serif;font-size:.65rem;font-weight:400;color:var(--muted);margin-top:5px}.turn-center{background:var(--navy);color:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;gap:7px;border-bottom:3px solid #12333d}.round-line{font-size:.71rem;color:#bfd1c7}.round-line b{font-family:var(--pixel-font);font-size:1.1rem;color:var(--gold-light)}.turn-label{font-size:.72rem;text-align:center;line-height:1.25}.round-dots{display:flex;gap:4px}.round-dots span{width:12px;height:4px;background:#56747a}.round-dots .used{background:var(--gold)}
.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 294px;gap:18px;align-items:start}.main-column{min-width:0}.panel{background:var(--paper);border:1px solid var(--line);box-shadow:0 3px 0 #c3b69860}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 17px;border-bottom:1px solid var(--line)}.panel-heading h2{font-size:.92rem;letter-spacing:-.02em}.panel-heading small{color:var(--muted);font-size:.69rem}.board-panel{overflow:hidden}.map-wrap{position:relative;background:var(--sea);border-bottom:1px solid #a3b7ad;isolation:isolate}.map-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#234e4512 4px);opacity:.25;z-index:-1}.map-svg{width:100%;display:block;min-height:305px;max-height:430px;overflow:visible}.sea-label{font-family:var(--pixel-font);font-size:10px;letter-spacing:5px;fill:#6d9694;font-weight:600}.map-land{fill:#e9ddba;stroke:#798877;stroke-width:1.7;stroke-linejoin:round;filter:drop-shadow(0 5px 0 #547c7530)}.map-inner{fill:url(#terrain-pattern);opacity:.5;pointer-events:none}.map-route{stroke:#9c977d;stroke-width:2;stroke-dasharray:4 5;fill:none}.map-route.reachable{stroke:#5f8c80;stroke-width:3;stroke-dasharray:4 4}.map-route.selected-route{stroke:var(--rust);stroke-width:3;stroke-dasharray:0}.map-city{cursor:pointer}.map-city .city-dot{fill:#f8edce;stroke:#686c58;stroke-width:2}.map-city.neighbor .city-dot{fill:#d5e4c1;stroke:#426957;stroke-width:2}.map-city.selected .city-dot{fill:var(--gold);stroke:#463b2f;stroke-width:2.5}.map-city:hover .city-dot,.map-city:focus-visible .city-dot{stroke:#a75b33;fill:#ebc981}.map-city:focus-visible{outline:none}.map-city:focus-visible .city-hit{stroke:#ac6734;stroke-width:2;fill:#eec58233}.map-label{font-family:"Trebuchet MS",Arial,sans-serif;font-size:14px;font-weight:700;fill:#35473d;paint-order:stroke;stroke:#eee3c7;stroke-width:4;stroke-linejoin:round;pointer-events:none}.map-city.selected .map-label{fill:#804a32}.map-resource{font-family:var(--pixel-font);font-size:10px;fill:#526353;letter-spacing:.7px;paint-order:stroke;stroke:#e9ddba;stroke-width:3;pointer-events:none}.map-facility{fill:#ad7c36}.map-compass{fill:#537771;font-family:var(--pixel-font);font-size:11px}.map-title{fill:#bdba9a;font-family:var(--pixel-font);font-size:18px;letter-spacing:9px;opacity:.8}.map-decoration{stroke:#b2ae8e;stroke-width:1.3;fill:none;opacity:.55}.player-token{pointer-events:none;filter:drop-shadow(1px 2px 0 #29464155)}.city-hit{fill:transparent;stroke:transparent}.map-legend{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;gap:12px;font-size:.67rem;background:#e9eddd;color:#5d715f}.legend-items{display:flex;gap:14px;flex-wrap:wrap}.legend-dot{width:7px;height:7px;background:var(--gold);display:inline-block;margin-right:5px;border:1px solid #626b55}.legend-dot.green{background:#8eab83}.map-note{text-align:right;font-size:.64rem;max-width:235px}.city-shortcuts{display:flex;flex-wrap:wrap;padding:10px 13px;gap:5px;background:#f3ecd8}.city-shortcuts button{font-size:.64rem;padding:5px 7px;border:1px solid #c5bda4;box-shadow:none;font-weight:400}.city-shortcuts button.selected{background:var(--navy);color:var(--paper)}
.mission-row{margin-top:19px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.section-title h2{font-size:.93rem;letter-spacing:-.02em}.section-title small{font-size:.68rem;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.project-card{position:relative;padding:13px 12px 11px;background:var(--paper-light);border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 3px #c3b69870;min-width:0}.project-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}.factory-icon{width:31px;height:31px;image-rendering:pixelated;color:var(--navy)}.project-points{font-family:var(--pixel-font);font-size:.85rem;color:var(--navy);font-weight:700}.project-points small{font-family:"Trebuchet MS",sans-serif;font-weight:400;font-size:.58rem;color:var(--muted)}.project-card h3{font-size:.79rem;margin-bottom:4px}.project-place{font-size:.66rem;color:var(--muted)}.recipe{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:12px}.recipe-token{font-family:var(--pixel-font);font-size:.68rem;display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:23px;border:1px solid #c5bca2;background:#ece5d5;position:relative}.recipe-token.owned{background:#d2e2cc;border-color:#789a73}.recipe-plus{font-size:.65rem;color:#a7a08d}.project-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed var(--line);margin-top:11px;padding-top:8px;font-size:.6rem;gap:5px}.project-bottom button{font-size:.66rem;padding:2px 0;border:none;box-shadow:none;background:transparent;text-decoration:underline;text-underline-offset:3px;color:var(--teal)}.completion-dots{display:flex;gap:3px}.completion-dot{border:1px solid #b6b39d;color:#999e91;padding:1px 3px;font-family:var(--pixel-font);font-size:.55rem}.completion-dot.done-0{background:var(--p1);color:white;border-color:var(--p1)}.completion-dot.done-1{background:var(--p2);color:white;border-color:var(--p2)}.bonus-footnote{margin-top:9px;font-size:.67rem;color:var(--muted);line-height:1.5}.bonus-footnote b{color:var(--rust)}
.side-column{display:flex;flex-direction:column;gap:16px;min-width:0}.city-panel{border-top:4px solid var(--navy)}.city-panel-header{padding:17px 18px 14px;border-bottom:1px solid var(--line);background:#efe4c9}.city-panel-header h2{font-family:var(--pixel-font);font-size:1.2rem;margin:6px 0}.city-panel-header .region{font-size:.68rem;color:var(--muted)}.location-state{display:inline-block;font-size:.6rem;padding:4px 6px;background:#d8e3ce;color:#47634b;margin-top:9px}.location-state.far{background:#e2dbc9;color:#726a58}.city-panel-body{padding:15px 16px}.city-fact{font-size:.78rem;line-height:1.55;color:#606454}.city-resources{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.resource-chip{display:inline-flex;align-items:center;gap:7px;font-size:.73rem;background:var(--paper-light);border:1px solid var(--line);padding:6px 8px;box-shadow:none;text-align:left}.resource-chip b{font-family:var(--pixel-font);color:var(--navy);min-width:20px}.city-action-heading{margin:17px 0 8px;font-family:var(--pixel-font);font-size:.66rem;color:var(--teal);text-transform:uppercase;letter-spacing:.07em}.action-list{display:flex;flex-direction:column;gap:8px}.action-button{display:flex;align-items:center;justify-content:space-between;gap:6px;text-align:left;font-size:.77rem;padding:10px 11px}.action-button small{font-size:.57rem;white-space:nowrap;font-weight:400;opacity:.8}.action-button .arrow{font-family:var(--pixel-font);font-size:.9rem;margin-right:5px}.turn-hint{background:#e9e1ce;padding:10px 12px;font-size:.73rem;line-height:1.5;margin-top:10px}.side-footer{border-top:1px solid var(--line);padding:10px 14px;display:flex;justify-content:space-between;gap:8px;align-items:center}.side-footer button{font-size:.68rem;padding:5px}.side-footer small{font-size:.64rem;color:var(--muted)}
.lobby-panel{background:var(--navy);border:1px solid #173f49;padding:18px;color:var(--paper-light);box-shadow:0 4px #173f4940}.lobby-panel h2{font-family:var(--pixel-font);font-size:.96rem;margin-bottom:7px}.lobby-panel p{color:#c3d4c8;line-height:1.5;font-size:.73rem}.lobby-panel input{background:#f8f1de;color:var(--navy);border:2px solid #abbdaf;min-width:0;width:100%;padding:10px;font-size:.84rem;border-radius:0}.lobby-panel label{display:block;color:#ccd9ca;font-size:.66rem;margin:12px 0 5px}.lobby-panel .primary{background:var(--gold-light);color:var(--navy);width:100%;margin-top:9px}.lobby-panel .primary:hover{background:#f7df9f}.join-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center;margin-top:6px}.join-row input{text-transform:uppercase;letter-spacing:.12em;font-family:var(--pixel-font)}.join-row button{padding:10px;font-size:.75rem;box-shadow:none;border-color:#c1c7ad;color:var(--navy)}.lobby-divider{border-top:1px solid #748e7d55;margin:15px 0 12px}.lobby-panel .quiet{color:var(--paper-light);width:100%;font-size:.74rem;padding:7px}.lobby-panel .quiet:hover{background:#385f62}.lobby-panel .resume{font-size:.69rem;color:var(--gold-light);text-decoration:underline}.room-code{font-family:var(--pixel-font);letter-spacing:.18em;font-size:1.65rem;margin:15px 0 9px;display:block;color:var(--gold-light)}.room-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.72rem}.room-info button{font-size:.65rem;box-shadow:none;padding:5px 8px}.waiting-pulse{height:4px;background:#54796e;margin:15px 0;position:relative;overflow:hidden}.waiting-pulse::after{content:"";height:100%;width:35%;position:absolute;background:var(--gold);animation:waiting 2s ease-in-out infinite}.room-hint{font-size:.64rem!important;line-height:1.5;margin-top:10px}.live-room{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--paper-light);border:1px solid var(--line);font-size:.67rem}.live-room code{font-family:var(--pixel-font);font-weight:700;color:var(--navy);letter-spacing:.1em}.live-room button{font-size:.64rem;padding:5px 7px}.mode-tag{display:inline-block;font-size:.62rem;color:var(--rust);margin-top:4px}.field-error{font-size:.72rem!important;color:#ffcfab!important;margin-top:9px;min-height:0}
.hand-panel{margin-top:19px}.hand-content{padding:13px 15px;display:flex;gap:10px;overflow-x:auto;align-items:stretch;min-height:115px}.empty-hand{display:flex;align-items:center;justify-content:center;width:100%;gap:16px;padding:14px;text-align:left;color:var(--muted);font-size:.77rem;line-height:1.6}.empty-hand-icon{width:33px;height:43px;border:2px dashed #b5ad94;box-shadow:5px 4px 0 #d9cfb5;transform:rotate(-7deg);flex:none}.hand-card{position:relative;flex:0 0 83px;min-width:0;padding:5px 5px 7px;border:1px solid var(--line);background:var(--paper-light);box-shadow:0 2px #cfc3a3;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.hand-card img{height:84px;max-width:70px;object-fit:contain;image-rendering:pixelated;display:block}.hand-card .resource-icon{height:84px;width:64px;display:flex;justify-content:center;align-items:center;font-family:var(--pixel-font);font-size:1.3rem;background:repeating-linear-gradient(45deg,#d9cba640,#d9cba640 6px,transparent 6px,transparent 12px);border:3px double var(--gold);color:var(--navy)}.hand-card .card-name{font-size:.58rem;line-height:1.3;margin-top:6px;font-weight:600}.card-count{position:absolute;right:2px;top:2px;min-width:22px;height:22px;padding:3px;font-family:var(--pixel-font);font-size:.73rem;background:var(--navy);color:var(--paper-light);border:2px solid var(--gold-light);z-index:1}.hand-card:hover:not(:disabled){background:#eee4c6}.hand-count{font-family:var(--pixel-font);font-size:.68rem;color:var(--muted)}
.notebook-teaser{display:flex;gap:12px;background:#e9e0c9;padding:14px 16px;border:1px solid var(--line);align-items:center}.book-icon{width:30px;height:36px;flex:none;fill:var(--teal)}.notebook-teaser div{flex:1}.notebook-teaser h3{font-size:.79rem;margin-bottom:4px}.notebook-teaser p{font-size:.68rem;line-height:1.45;color:var(--muted)}.notebook-teaser button{font-size:.7rem;padding:7px 9px}.recent-panel{padding:14px 16px}.recent-panel h3{font-size:.7rem;font-family:var(--pixel-font);color:var(--muted);letter-spacing:.08em;margin-bottom:10px}.recent-list{list-style:none;padding:0;margin:0}.recent-list li{font-size:.69rem;padding:8px 0;border-top:1px dotted var(--line);line-height:1.45;color:var(--muted)}.recent-list li:first-child{border:0;padding-top:0}.recent-list b{font-weight:600;color:var(--ink)}.log-seat{display:inline-block;width:6px;height:6px;background:var(--p1);margin-right:6px}.log-seat.player-1{background:var(--p2)}
.page-footer{max-width:1480px;margin:0 auto;padding:0 30px 25px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;font-size:.64rem;color:#797969;line-height:1.6}.page-footer p{max-width:750px}.page-footer button{font-size:.64rem;padding:3px 5px;flex:none}.final-banner{background:var(--gold-light);border:2px solid var(--navy);box-shadow:0 4px #c2a667;padding:19px 22px;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.final-banner h2{font-family:var(--pixel-font);font-size:1.1rem;margin-bottom:7px}.final-banner p{font-size:.78rem;line-height:1.5}.final-actions{display:flex;gap:8px;flex-wrap:wrap}.final-actions button{font-size:.72rem}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:13px 18px;background:#254b55;color:#fff3d6;border:2px solid var(--gold);box-shadow:4px 4px #152f3440;z-index:30;max-width:min(600px,calc(100vw - 30px));font-size:.8rem;line-height:1.5}.toast.error{background:#794b3e}.toast button{margin-left:10px;font-size:.7rem;padding:4px 7px;box-shadow:none;border-color:var(--gold-light)}
dialog{padding:0;border:3px solid var(--navy);background:var(--paper-light);color:var(--ink);max-width:min(780px,calc(100vw - 24px));max-height:88vh;width:720px;box-shadow:8px 8px 0 #102c3433}dialog::backdrop{background:#16333bc2;backdrop-filter:blur(2px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 23px;background:var(--navy);color:var(--paper-light);border-bottom:4px solid var(--gold);position:sticky;top:0;z-index:2}.dialog-header h2{font-family:var(--pixel-font);font-size:1.05rem}.dialog-close{background:transparent;color:var(--paper-light);border-color:#e7ead02b;box-shadow:none;padding:6px 10px}.dialog-close:hover{color:var(--navy)}.dialog-body{padding:23px;line-height:1.65;font-size:.87rem}.dialog-body p+p{margin-top:11px}.dialog-body h3{font-size:.93rem;margin:19px 0 8px}.dialog-body h3:first-child{margin-top:0}.dialog-body ul,.dialog-body ol{padding-left:22px}.dialog-body li{margin:7px 0}.dialog-body .source-list{font-size:.73rem;line-height:1.5;margin-top:9px}.source-list a{overflow-wrap:anywhere}.resource-detail{display:grid;grid-template-columns:140px 1fr;gap:22px;align-items:start}.detail-art{width:140px;max-height:195px;object-fit:contain;image-rendering:pixelated}.detail-art-placeholder{height:160px;background:#ece4cf;border:5px double var(--gold);display:grid;place-items:center;font-family:var(--pixel-font);font-size:2.5rem;color:var(--navy)}.detail-material{font-size:1.2rem;font-weight:700;color:var(--navy);margin:7px 0}.detail-meta{font-size:.72rem;color:var(--muted)}.disclaimer{padding:10px 13px;background:#eee7d4;border-left:3px solid var(--gold);font-size:.74rem;line-height:1.6;margin-top:18px}.notebook-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:17px}.notebook-tabs button{font-size:.72rem;padding:7px 10px}.notebook-tabs .active{background:var(--navy);color:var(--paper-light)}.notebook-summary{font-size:.76rem;color:var(--muted);margin-bottom:14px}.notebook-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.notebook-item{display:flex;gap:9px;align-items:center;text-align:left;font-size:.77rem;border:1px solid var(--line);padding:10px;box-shadow:none}.notebook-item span{flex:1}.notebook-item small{color:var(--muted);font-weight:400;font-size:.64rem;display:block;margin-top:3px}.notebook-item .item-symbol{flex:0 0 31px;font-family:var(--pixel-font);font-size:.85rem;color:var(--teal)}.question-card{padding:17px;border:1px solid var(--line);background:var(--paper);margin-top:20px}.question-card h3{font-size:.91rem;margin:6px 0 12px;line-height:1.45}.question-card .eyebrow{font-size:.61rem}.answer-options{display:flex;flex-direction:column;gap:7px}.answer-option{font-size:.78rem;text-align:left;border:1px solid #b7b69d;box-shadow:none;padding:10px 12px;display:flex;align-items:center;gap:10px;font-weight:400}.answer-option .letter{font-family:var(--pixel-font);font-size:.7rem;font-weight:700;border:1px solid var(--line);padding:2px 5px}.answer-option.selected{background:#ecd4be;border-color:var(--rust)}.answer-option.correct{background:#d7e6cd;border-color:#719064}.answer-feedback{font-size:.77rem;line-height:1.6;padding-top:12px;color:#78563e}.answer-feedback.correct{color:#45663b}.answer-history{font-size:.66rem;color:var(--muted);margin-top:8px}.inline-back{font-size:.72rem;padding:4px 0;border:none;box-shadow:none;background:transparent;margin-bottom:14px;text-decoration:underline;text-underline-offset:3px}.rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rule-box{padding:15px;background:var(--paper);border:1px solid var(--line)}.rule-box b{font-family:var(--pixel-font);font-size:.78rem;color:var(--teal);display:block;margin-bottom:7px}.rule-box p{font-size:.78rem}.credit-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:13px}.credit-cards img{max-height:120px;max-width:100%;object-fit:contain;image-rendering:pixelated}.credit-cards figcaption{font-size:.6rem;color:var(--muted)}.credit-cards figure{margin:0;text-align:center}.form-section+.form-section{margin-top:10px}
@keyframes waiting{0%{left:-35%}100%{left:100%}}
@media(min-width:1600px){.page{padding-top:28px}.map-svg{max-height:440px}.topbar-inner{padding-top:20px;padding-bottom:20px}.game-layout{grid-template-columns:minmax(0,1fr) 310px}}
@media(max-width:1100px){.page{padding:20px}.topbar-inner{padding:15px 20px}.game-layout{grid-template-columns:minmax(0,1fr) 265px;gap:14px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{padding:12px}.project-top{margin-bottom:7px}.project-card h3{font-size:.83rem}.map-svg{min-height:290px}.facts{gap:11px}.fact{font-size:.65rem;gap:6px}.fact b{font-size:1rem}.intro-strip h2{font-size:1.3rem}.score-row{grid-template-columns:1fr 165px 1fr}.player-card{padding:11px}.player-name{font-size:.77rem}.player-place{font-size:.65rem}.page-footer{padding-left:20px;padding-right:20px}.map-note{max-width:190px}.topnav button{font-size:.72rem}.topnav{gap:4px}}
@media(max-width:820px){.game-layout{grid-template-columns:minmax(0,1fr)}.side-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.city-panel{grid-row:1 / span 3;grid-column:2}.lobby-panel,.live-room{grid-column:1}.notebook-teaser,.recent-panel{grid-column:1}.map-svg{min-height:300px}.project-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.topnav .connection{display:none}.brand h1{font-size:.97rem}.brand-sub{font-size:.58rem}.intro-strip p{max-width:400px}.facts .fact:last-child{display:none}.score-row{grid-template-columns:1fr 150px 1fr}.score-number{font-size:1.2rem}.version-tag{font-size:.57rem}.player-avatar{width:27px;height:32px}.hand-content{min-height:100px}.city-shortcuts{display:none}}
@media(max-width:590px){.topbar-inner{padding:12px;gap:10px;flex-wrap:wrap}.brand-icon{width:33px;height:33px}.brand h1{font-size:.87rem}.brand-sub{font-size:.52rem;letter-spacing:.09em}.version-tag{margin-left:auto}.topnav{width:100%;justify-content:flex-end;border-top:1px solid #77918533;padding-top:8px}.topnav .connection{display:inline-flex;margin-right:auto;font-size:.62rem}.topnav button{font-size:.68rem;padding:6px 8px}.page{padding:15px 12px 20px}.intro-strip{align-items:flex-start;margin-bottom:15px}.intro-strip h2{font-size:1.15rem}.intro-strip .eyebrow{font-size:.58rem}.intro-strip p{font-size:.73rem;line-height:1.5}.facts{display:none}.score-row{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.turn-center{grid-column:1 / -1;grid-row:2;flex-direction:row;padding:9px 12px;gap:12px;justify-content:space-between}.round-line{font-size:.66rem}.round-line b{font-size:.85rem}.turn-label{font-size:.64rem}.round-dots span{width:7px}.player-card{padding:10px 9px;gap:8px}.player-name{font-size:.75rem}.player-place{font-size:.63rem}.player-avatar{width:24px;height:30px}.score-number{font-size:1.2rem}.score-number small{font-size:.58rem}.panel-heading{padding:12px}.panel-heading h2{font-size:.83rem}.panel-heading small{font-size:.57rem}.map-svg{min-height:220px;height:230px}.map-legend{align-items:flex-start;flex-direction:column;gap:5px;padding:9px 12px}.map-note{max-width:none;text-align:left;font-size:.61rem}.legend-items{gap:10px;font-size:.61rem}.city-shortcuts{display:flex;gap:5px;padding:10px}.city-shortcuts button{font-size:.63rem;padding:6px 8px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.section-title{margin-bottom:9px}.section-title h2{font-size:.84rem}.section-title small{font-size:.61rem}.project-card h3{font-size:.79rem}.recipe{margin-top:10px}.side-column{display:flex;flex-direction:column;gap:12px}.side-column>*{width:100%}.city-panel{order:0}.lobby-panel,.live-room{order:-1}.notebook-teaser{order:1}.recent-panel{order:2}.city-panel-header{padding:14px 16px}.city-panel-body{padding:13px 15px}.city-panel-header h2{font-size:1.12rem}.city-fact{font-size:.8rem}.lobby-panel{padding:17px}.lobby-panel h2{font-size:.95rem}.lobby-panel p{font-size:.77rem}.lobby-panel label{font-size:.72rem}.lobby-panel input{font-size:16px}.action-button{font-size:.8rem;padding:12px}.action-button small{font-size:.65rem}.hand-panel{margin-top:16px}.hand-content{padding:12px;min-height:100px}.empty-hand{font-size:.73rem;padding:6px;gap:12px}.page-footer{padding:0 13px 18px;flex-direction:column;gap:7px;font-size:.62rem}.final-banner{padding:16px;align-items:flex-start;flex-direction:column;gap:12px}.final-banner h2{font-size:1rem}.final-banner p{font-size:.73rem}.dialog-header{padding:16px}.dialog-header h2{font-size:.9rem}.dialog-body{padding:17px;font-size:.82rem}.resource-detail{grid-template-columns:100px 1fr;gap:14px}.detail-art{width:100px;max-height:160px}.detail-art-placeholder{height:130px;font-size:1.7rem}.detail-material{font-size:1rem}.detail-meta{font-size:.65rem}.rule-grid{grid-template-columns:1fr}.notebook-list{grid-template-columns:1fr}.question-card{padding:13px}.credit-cards{gap:4px}.credit-cards img{max-height:82px}.toast{font-size:.74rem;bottom:12px;padding:11px 13px}.toast button{margin-top:5px;margin-left:0;display:block}.notebook-teaser p{font-size:.71rem}.city-resources{gap:7px}.resource-chip{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Deneme 2: short introduction, personal orders and resource discovery. */
.order-selection{background:#eee4cb;border:2px solid var(--navy);padding:20px;margin-bottom:20px;box-shadow:0 4px #b9ac8966}.selection-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.selection-heading h2{font-size:1.2rem;margin:6px 0}.selection-heading p{font-size:.82rem;line-height:1.5;color:var(--muted)}.selection-count{background:var(--navy);color:var(--paper-light);padding:9px 12px;font-family:var(--pixel-font);font-size:.8rem;white-space:nowrap}.order-choice{display:flex;align-items:flex-start;gap:9px;font-weight:700;font-size:.88rem;line-height:1.4;cursor:pointer;margin-bottom:9px}.order-choice input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--teal)}.project-card.chosen{border-color:var(--teal);background:#eff3df;border-top-color:var(--teal)}.selection-grid .recipe{margin-top:10px}.source-route{font-size:.71rem;color:#526256;line-height:1.6;margin-top:10px;overflow-wrap:anywhere}.selection-detail{font-size:.72rem;margin-top:8px;padding:5px 0;text-decoration:underline;text-underline-offset:3px}.selection-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:17px;flex-wrap:wrap}.selection-actions p{font-size:.77rem;line-height:1.5;color:var(--muted);flex:1;min-width:180px}.selection-actions button{font-size:.8rem}.unselected-project{background:#e8e3d7;border-top-color:#9a9e8e}.unselected-project .order-state{color:#6f715f}.order-state{font-size:.66rem;color:var(--teal);margin-top:7px}.completed-project{border-top-color:var(--teal)}.plan-order{width:100%;font-size:.64rem;border:1px solid var(--line);padding:6px 4px;box-shadow:none;margin-top:8px;font-weight:400}.plan-order.active{background:var(--navy);color:var(--paper-light);border-color:var(--navy)}button.recipe-token{padding:5px;min-width:32px;min-height:32px;box-shadow:none;border-radius:0;font-weight:700}.route-helper{background:#eef0dd;border:1px solid #bcc7aa;border-left:4px solid var(--teal);padding:13px 16px;margin-bottom:14px;display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr);gap:10px 18px}.route-helper h2{font-size:.9rem;margin-top:5px;line-height:1.4}.route-requirements{font-size:.73rem;line-height:1.6}.route-requirement{display:flex;gap:9px;align-items:center;margin-bottom:7px}.route-requirement>button{flex:none}.city-link{padding:1px 0;border:none;box-shadow:none;background:transparent;font-size:inherit;text-decoration:underline;text-underline-offset:3px}.route-helper-note{grid-column:1/-1;font-size:.73rem;line-height:1.5;color:var(--muted);border-top:1px solid #cbd0ba;padding-top:8px}.route-pickup-hint{font-size:.74rem;line-height:1.6;margin-top:12px;padding:9px 11px;background:#e2e9cf;border-left:3px solid var(--teal)}.plan-ring{fill:none;stroke:var(--rust);stroke-width:2;stroke-dasharray:3 3;pointer-events:none}.resource-tooltip{position:fixed;z-index:90;width:310px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:auto;background:var(--paper-light);color:var(--ink);padding:13px 15px;border:2px solid var(--teal);box-shadow:4px 4px #253e3833;font-size:.78rem;line-height:1.5;pointer-events:auto}.resource-tooltip[hidden]{display:none}.resource-tooltip strong{display:block;color:var(--navy);font-family:var(--pixel-font);font-size:.85rem}.tip-material{display:block;font-weight:700;margin:4px 0 7px}.resource-tooltip p+p{margin-top:6px}.resource-tooltip .tip-place{color:#52695e;border-top:1px solid var(--line);padding-top:7px;font-size:.72rem}.intro-progress{display:flex;align-items:center;gap:14px;font-family:var(--pixel-font);font-size:.76rem;color:var(--teal);margin-bottom:14px}.intro-progress>div{display:flex;gap:5px}.intro-progress i{display:block;width:28px;height:5px;background:#d7cfb7}.intro-progress i.done{background:var(--teal)}.onboarding .intro-title{font-size:1.35rem;color:var(--navy);margin:0 0 12px;line-height:1.3}.intro-lead{font-size:.94rem;line-height:1.65}.intro-orders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0}.intro-orders>div{padding:13px 9px;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;font-size:.75rem;line-height:1.4}.intro-orders b{font-family:var(--pixel-font);font-size:.73rem;color:var(--teal)}.intro-choice{display:flex;align-items:center;gap:14px;margin:22px 0}.intro-choice>span{flex:1;padding:18px;background:var(--paper);border:2px solid var(--teal);font-size:.87rem;text-align:center}.intro-choice>strong{color:var(--rust);font-size:.72rem}.intro-example{margin:20px 0;padding:18px;background:#e7ecd6;border-left:4px solid var(--teal)}.intro-example>div{display:flex;gap:20px;flex-wrap:wrap;margin:10px 0}.intro-example p{font-size:.82rem}.intro-chain{display:flex;justify-content:space-between;align-items:center;gap:9px;background:var(--paper);padding:16px 12px;margin:20px 0;text-align:center;font-size:.78rem}.intro-chain b{font-size:.78rem}.intro-tip{font-size:.82rem;line-height:1.65;color:#536458}.intro-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.intro-controls>div{display:flex;gap:8px}.intro-controls button{font-size:.8rem}.intro-reopen{font-size:.68rem;color:var(--muted);margin-top:12px!important}
@media(max-width:820px){.selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-inner{flex-wrap:wrap}.topnav{margin-left:auto}.route-helper{grid-template-columns:1fr}.route-helper-note{grid-column:1}.onboarding .intro-title{font-size:1.2rem}.intro-orders{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:590px){.order-selection{padding:14px}.selection-heading{gap:8px;flex-wrap:wrap}.selection-heading h2{font-size:1.04rem;line-height:1.4}.selection-heading p{font-size:.77rem}.selection-count{font-size:.72rem;padding:6px 9px}.order-choice{font-size:.8rem;gap:7px}.selection-actions{justify-content:stretch}.selection-actions p{flex-basis:100%}.selection-actions button{flex:1;font-size:.74rem;padding:10px 9px}.route-helper{padding:12px}.intro-lead{font-size:.86rem}.intro-choice{gap:8px}.intro-choice>span{padding:12px 7px;font-size:.77rem}.intro-choice>strong{font-size:.62rem}.intro-chain{font-size:.7rem;padding:12px 7px;gap:6px}.intro-chain b{font-size:.7rem}.intro-controls{gap:8px;flex-wrap:wrap}.intro-controls>div{margin-left:auto}.intro-controls button{font-size:.75rem;padding:9px 10px}.intro-orders>div{font-size:.72rem;padding:10px}.source-route{font-size:.67rem}.topnav{justify-content:space-between;gap:3px}.topnav button{padding:6px;font-size:.65rem}.topnav .connection{font-size:.57rem}}
@media(pointer:coarse){button.recipe-token{min-width:44px;min-height:44px}.plan-order,.city-link,.selection-detail{min-height:44px}.order-choice input{width:24px;height:24px}}

.order-selectors{font-size:.67rem;color:var(--ink);line-height:1.5;margin-top:5px;overflow-wrap:anywhere}

/* Shareable QR invitations use only the public game/room URL. */
.invite-dialog{text-align:center}.invite-dialog>p{max-width:560px;margin:0 auto 13px}.invite-qr{display:flex;justify-content:center;margin:18px 0}.invite-qr svg{width:264px;max-width:100%;height:auto;display:block;border:1px solid var(--line)}.invite-room-label{font-family:var(--pixel-font);font-size:1rem;letter-spacing:.12em}.invite-dialog label{display:block;text-align:left;font-weight:700;font-size:.76rem;margin-bottom:6px}.invite-dialog input{width:100%;min-width:0;box-sizing:border-box;background:#fff;border:1px solid var(--line);padding:10px;font-size:16px;color:var(--navy);margin-bottom:12px}.invite-dialog button{min-height:44px}.invite-copy-status{min-height:1.5em;font-size:.76rem;color:var(--teal);margin-top:8px!important}.invite-network{font-size:.78rem;background:#e7ecd6;border-left:3px solid var(--teal);padding:11px 14px;text-align:left}.invite-network.local-only{background:#f1e1bd;border-color:var(--rust)}.invitation-arrival{padding:12px;border:1px solid #d7d2a1;background:#fcf7de;color:var(--ink);margin:15px 0}.invitation-arrival strong{font-family:var(--pixel-font);font-size:.77rem}.invitation-arrival p{color:var(--ink);margin:7px 0;font-size:.75rem}.invitation-arrival button{width:100%;margin-top:6px}.room-info{flex-wrap:wrap}.live-room-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.live-room-actions button{font-size:.67rem;padding:6px}.topnav{flex-wrap:wrap}.topnav button{white-space:nowrap}@media(max-width:590px){.invite-qr svg{width:244px}.invite-network{font-size:.73rem}.invite-dialog>p{font-size:.8rem}.topnav{justify-content:flex-start}.topnav .connection{flex-basis:100%}.invite-dialog button{width:100%}}
