:root{--paper:#f5f2e9;--card:#fffdf7;--ink:#203d38;--muted:#65736b;--line:#d8dacf;--accent:#a24728;--pale:#e9eee4;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:light}

*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;padding:10px 15px;background:var(--card);color:var(--ink);font-weight:600;min-height:44px;line-height:1.35}button:hover{background:var(--pale);border-color:#8b9c8d}button:disabled{cursor:default;opacity:.6}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--accent)}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.18}h1,h2{font-family:var(--serif);font-weight:500}p{margin-bottom:1em}p:last-child{margin-bottom:0}[hidden]{display:none!important}.topbar{max-width:1280px;margin:auto;padding:24px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:18px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:12px;font-weight:750;letter-spacing:.1em}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:.015em;color:var(--muted)}.brand-mark{display:grid;place-items:center;background:var(--ink);color:var(--paper);font-family:var(--serif);font-size:25px;letter-spacing:0;width:40px;height:40px;border-radius:50%}.header-end{display:flex;align-items:center;gap:22px}.version{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.quiet{border-color:transparent;background:transparent;font-weight:500}.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.primary:hover{background:#31544b;border-color:#31544b}.large{padding:15px 23px;display:inline-flex;gap:30px;align-items:center}.large span{font-size:24px}main{max-width:1208px;padding:0 36px;margin:auto}.masthead{padding:42px 0 30px}.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:750;color:var(--muted);margin-bottom:10px}.dot{padding:0 9px;color:#b1b4a8}h1{font-size:clamp(34px,4.5vw,57px);letter-spacing:-.045em;margin-bottom:14px}.tagline{font-size:16px;color:var(--muted);margin:0}.welcome{display:grid;grid-template-columns:1fr 1.05fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card);box-shadow:0 9px 30px #203d3805}.welcome-story{padding:38px}.welcome h2{font-size:33px;margin:0 0 22px}.welcome-story p{font-size:15px}.welcome blockquote{border-left:2px solid var(--accent);margin:26px 0;padding:3px 0 3px 20px;font-family:var(--serif);font-size:21px}.welcome cite{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.06em;margin-top:10px;font-style:normal;color:var(--muted)}.welcome .fine{font-size:12px;max-width:330px;margin:18px 0 0}.welcome-map{background:#e6eadf;padding:30px 20px;display:flex;flex-direction:column;justify-content:center;gap:20px;border-left:1px solid var(--line)}.welcome-map img{width:100%;height:auto;box-shadow:0 5px 24px #203d3810;border-radius:8px}.map-caption{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#596a5d;padding:0 6px}.map-caption span:first-child{font-weight:700}.game-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 0 18px}.case-status{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.status-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;display:inline-block}.tool-buttons{display:flex;gap:8px;align-items:center}.count{font-size:11px;background:var(--pale);padding:2px 6px;border-radius:4px;margin-left:8px}.game-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}.scene-card{border:1px solid var(--line);background:var(--card);padding:32px;border-radius:10px;min-width:0}.scene-heading{display:flex;gap:18px;align-items:center;margin-bottom:24px}.scene-number{font-family:var(--serif);font-size:30px;color:var(--accent);display:grid;place-items:center;width:53px;height:59px;border:1px solid #d6bfa8;border-radius:28px 28px 5px 5px;flex-shrink:0}.scene-heading h2{font-size:32px;margin:0;letter-spacing:-.025em}.scene-heading .eyebrow{font-size:10px;margin-bottom:8px}.scene-description{font-size:16px;line-height:1.8}.response{border-top:1px solid var(--line);margin-top:25px;padding-top:25px}.response h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:16px}.response p{font-size:15px;line-height:1.85}.action-heading{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:750;color:var(--muted);margin:26px 0 12px}.actions{display:grid;gap:9px}.action-button{text-align:left;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;font-size:14px;font-weight:600}.action-button small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:500;margin-bottom:5px}.action-button>span:last-child{font-size:20px;color:var(--accent)}.sidebar{display:grid;gap:18px}.objective-card{border-radius:9px;background:var(--ink);color:var(--paper);padding:23px}.objective-card .eyebrow{color:#b4c6b4}.objective-card #objective{font-family:var(--serif);font-size:23px;line-height:1.35}.destinations-card{padding:22px 18px 14px;border:1px solid var(--line);border-radius:9px}.destinations-card>.eyebrow{padding:0 5px}.destination{width:100%;text-align:left;display:flex;gap:12px;align-items:center;border-color:transparent;background:transparent;padding:13px 5px;font-size:13px}.destination.current{background:var(--pale);padding-left:10px;padding-right:10px;cursor:default;border-color:#d5dfcf}.destination-number{font-size:12px;color:var(--muted);width:22px;flex-shrink:0}.destination-name{flex:1}.destination small{display:block;font-weight:400;font-size:11px;color:var(--muted);margin-top:4px}.notebook-summary{padding:5px 22px 15px;font-size:13px;color:var(--muted)}.notebook-summary strong{color:var(--ink)}.text-button{padding:0;border:0;background:transparent;font-size:12px;text-decoration:underline;text-underline-offset:4px}.text-button:hover{background:transparent}.fine{font-size:12px;color:var(--muted);line-height:1.7}.save-status{font-size:11px;color:var(--muted);margin:20px 0 0;min-height:18px}.save-status.warning{color:#884226;font-size:13px}footer{max-width:1136px;margin:32px auto 0;padding:20px 0 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:11px;color:var(--muted)}footer a{text-decoration:none}dialog{color:var(--ink);background:var(--card);border:1px solid #bdc8b9;border-radius:13px;padding:28px;max-width:850px;width:calc(100% - 40px);max-height:90vh;max-height:90dvh;overflow:auto;box-shadow:0 30px 120px #14282044}dialog::backdrop{background:#122821aa;backdrop-filter:blur(3px)}dialog h2{font-size:32px;margin-bottom:20px}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.dialog-heading h2{margin-bottom:0}.dialog-heading .close-dialog{flex-shrink:0}.dialog-heading .eyebrow{font-size:10px}.combine-box{background:var(--pale);border:1px solid #d5dfcf;border-radius:8px;padding:20px}.combine-box h3{font-size:17px;margin:0 0 9px}.combine-box p{font-size:13px}.combine-controls{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) auto;gap:10px;align-items:end}.combine-controls label{font-size:11px;font-weight:650;display:block;margin-bottom:7px}.combine-controls select{width:100%;min-width:0;min-height:44px;background:var(--card);border:1px solid #b7c5b3;padding:8px;border-radius:5px;color:var(--ink);font-size:12px}.combine-plus{align-self:end;padding-bottom:10px;text-align:center}.combine-result{margin:14px 0 0;color:#30533e}.section-label{font-family:var(--sans);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin:25px 0 15px;color:var(--muted)}.clues-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.clue-card{border:1px solid var(--line);border-radius:7px;padding:17px}.clue-card h4{margin:0 0 5px;font-family:var(--serif);font-size:19px;font-weight:500;line-height:1.25}.clue-source{font-size:10px;letter-spacing:.04em;color:var(--muted);margin-bottom:13px}.clue-text{font-size:13px;line-height:1.8;white-space:pre-line}.deduction-card{border-left:3px solid var(--accent);padding:4px 0 4px 16px;margin-bottom:16px}.deduction-card h4{font-size:14px;margin:0 0 7px}.deduction-card p{font-size:13px;color:#4e5e52}.full-map{width:100%;height:auto;border-radius:6px;border:1px solid var(--line)}.map-destinations{display:grid;grid-template-columns:1fr 1fr;gap:8px}.map-destinations .destination{border:1px solid var(--line);padding:12px}.save-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}#settings-status{font-size:13px;color:var(--accent)}.reset-area{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);font-size:13px}.danger{color:#963d24;border-color:#d3b3a0}.small-dialog{max-width:500px}.ending{margin-top:25px;border:1px solid #bbccb6;padding:24px;border-radius:8px;background:var(--pale)}.ending h3{font-family:var(--serif);font-weight:500;font-size:28px}.ending p{font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-60px;left:15px;padding:10px 15px;background:var(--card);z-index:10}.skip-link:focus{top:10px}.noscript{max-width:700px;margin:20px auto;padding:20px;background:#f4d7b8}.playing .masthead{padding:30px 0 24px}.playing .masthead h1{font-size:40px}.playing .tagline{font-size:14px}
@media(max-width:900px){.topbar{padding:20px 24px}main{padding:0 24px}.game-grid{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.scene-card{padding:24px}.scene-heading h2{font-size:27px}.welcome-story{padding:28px}.welcome-map{padding:20px 12px}.map-caption{flex-direction:column;gap:0}footer{margin-left:24px;margin-right:24px}.header-end{gap:10px}.version{display:none}}
@media(max-width:680px){.topbar{padding:16px;gap:8px}.brand{font-size:10px;gap:8px;letter-spacing:.07em}.brand-mark{width:32px;height:32px;font-size:22px}.brand small{font-size:10px}.header-end .quiet{font-size:11px;padding:8px}.masthead{padding:30px 0 24px}main{padding:0 16px}.tagline{font-size:14px}.welcome{grid-template-columns:1fr}.welcome-story{padding:25px}.welcome h2{font-size:28px}.welcome-map{border-left:0;border-top:1px solid var(--line);padding:18px}.welcome-map img{max-height:270px;object-fit:contain}.map-caption{flex-direction:row}.game-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.tool-buttons{width:100%;gap:6px;flex-wrap:wrap}.tool-buttons button{font-size:12px;padding:9px 10px}.tool-buttons .quiet{margin-left:auto;font-size:11px}.game-grid{grid-template-columns:1fr;gap:18px}.scene-card{padding:23px 20px}.scene-heading{gap:13px;margin-bottom:20px}.scene-heading h2{font-size:27px}.scene-description{font-size:15px}.scene-number{width:42px;height:50px;font-size:25px}.response p{font-size:14px}.action-button{font-size:13px}.sidebar{grid-template-columns:1fr;gap:14px}.objective-card{padding:18px 22px}.objective-card #objective{font-size:21px}.destinations-card{padding:18px}.destinations-card #destinations{display:grid;grid-template-columns:1fr 1fr;gap:7px}.destination{padding:10px 6px;font-size:12px;gap:6px;align-items:flex-start}.destination.current{padding:10px 8px}.destination-number{width:19px}.notebook-summary{padding:5px 4px}.notebook-summary p{display:inline;margin-right:14px}.notebook-summary .eyebrow{display:block}.playing .masthead h1{font-size:34px}.playing .masthead{padding:26px 0 20px}dialog{width:calc(100% - 20px);padding:20px 16px;max-height:93dvh}.dialog-heading{gap:8px}.dialog-heading h2,dialog h2{font-size:27px}.dialog-heading .close-dialog{font-size:12px;padding:8px}.combine-box{padding:16px}.combine-controls{grid-template-columns:1fr;gap:10px}.combine-plus{display:none}.combine-controls select{font-size:14px}.combine-controls .primary{margin-top:4px}.clues-grid{grid-template-columns:1fr}.map-destinations{grid-template-columns:1fr}footer{margin:25px 16px 0;font-size:10px;flex-wrap:wrap}.eyebrow{font-size:10px}.small-dialog{max-width:calc(100% - 24px)}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .15s,border-color .15s,color .15s}dialog[open]{animation:appear .15s ease-out}@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}

/* Viimeinen näytös: muistikirjan osiot ja ratkaisulomake. */
.notebook-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:12px 0;margin:0 0 20px;background:var(--card);position:sticky;top:-28px;z-index:1;border-bottom:1px solid var(--line)}
.notebook-tabs button{font-size:13px;padding:9px 13px}.notebook-tabs [aria-selected=true]{background:var(--ink);color:var(--card);border-color:var(--ink)}
.case-question{font-size:13px;margin:8px 0;color:var(--muted)}.case-question.answered{color:var(--ink)}
progress{width:100%;height:7px;accent-color:var(--ink);display:block;margin-bottom:12px}
.timeline{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:20px;border-top:1px solid var(--line);padding:16px 0;font-size:14px}.timeline strong{font-size:12px;color:var(--accent)}.timeline-warning{color:var(--accent);font-weight:600;font-size:12px}
.journal-entry{border-bottom:1px solid var(--line);padding:12px 0}.journal-entry summary{cursor:pointer;font-weight:650;font-size:14px;min-height:44px;padding:10px 4px}.journal-entry>div{font-size:14px;padding:12px 4px 8px;line-height:1.85}
.theory-form{display:grid;gap:9px}.theory-form label{font-size:14px;font-weight:650;margin-top:10px}.theory-form select{width:100%;min-width:0;min-height:48px;border:1px solid #b7c5b3;border-radius:6px;padding:10px;background:var(--card);color:var(--ink);font-size:14px}.theory-form button{margin-top:18px;justify-self:start}#theory-result{margin-top:20px;color:var(--accent)}
[role=tabpanel]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.clue-card p{font-size:13px}.clue-card{overflow-wrap:anywhere}
.welcome-map{background:#eee6d6;padding:26px}.welcome-map img{max-height:540px;object-fit:contain}.welcome-story{align-self:center}
@media(max-width:680px){.notebook-tabs{top:-20px;gap:5px}.notebook-tabs button{font-size:12px;padding:9px 11px}.timeline li{grid-template-columns:80px minmax(0,1fr);gap:12px}.welcome-map img{max-height:310px}.theory-form select{font-size:14px}.theory-form button{width:100%}.map-caption{flex-wrap:wrap}.destinations-card #destinations{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.brand small{display:none}.topbar{padding:12px}.header-end .quiet{max-width:95px}.destinations-card #destinations{grid-template-columns:1fr}.notebook-tabs button{padding:8px}.timeline li{grid-template-columns:1fr;gap:4px}}

/* Sivustoversio 0.42: Armas Kannon muotokuva. */
.welcome{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-areas:"story portrait"}
.welcome-story{grid-area:story;min-width:0}
.welcome-portrait{grid-area:portrait;min-width:0;margin:0;padding:26px;display:flex;flex-direction:column;justify-content:center;gap:18px;background:#eee6d6;border-left:1px solid var(--line)}
.welcome-portrait img{display:block;width:100%;height:auto;max-width:540px;align-self:center;border-radius:8px;box-shadow:0 5px 24px #203d3810}
@media(max-width:900px){.welcome-portrait{padding:20px}}
@media(max-width:680px){.welcome{grid-template-columns:minmax(0,1fr);grid-template-areas:"portrait" "story"}.welcome-portrait{padding:18px;border-left:0;border-bottom:1px solid var(--line)}.welcome-portrait img{max-width:440px}}
