:root{color-scheme:light;--ink:#173d3b;--muted:#66776b;--paper:#f8f3e8;--coral:#b7473e;--line:#d9ddcb}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 system-ui,-apple-system,sans-serif}header{display:flex;justify-content:space-between;align-items:center;max-width:1440px;margin:auto;padding:30px 34px 20px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.19em;margin:0 0 7px;color:#73806c}h1{font:42px/1.1 Georgia,serif;margin:0;letter-spacing:-1.4px}h1 span{font:14px system-ui;display:inline-block;letter-spacing:.05em;border-left:1px solid #c8cdbd;margin-left:18px;padding-left:18px}button,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid #cdd3c4;border-radius:9px;background:#fffaf0;padding:10px 14px;transition:background .15s,transform .15s}button:hover{background:#e8eddf}button:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #c77b42;outline-offset:3px}button:disabled{opacity:.45;cursor:default}.header-actions{display:flex;gap:8px}main{max-width:1440px;margin:auto;padding:0 34px}.dashboard{border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:19px 0;margin-bottom:22px}.dashboard>div{padding-left:25px;border-left:1px solid var(--line)}.dashboard>div:first-child{border:0;padding-left:0}small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}strong{display:block;font:27px Georgia,serif;margin-top:4px}.layout{display:grid;grid-template-columns:264px minmax(0,1fr);gap:24px}aside{background:#eef0e3;border:1px solid var(--line);padding:18px;border-radius:15px;align-self:start}.chapter{border-bottom:1px solid #cfd6c5;padding-bottom:16px}label{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}select{width:100%;padding:10px 6px;border:1px solid #c7d0bf;background:#fffaf0;border-radius:7px;margin:8px 0 0}#brief{font-size:13px;color:#5a6e62;margin:10px 0}.goal{font-size:12px;display:flex;justify-content:space-between;padding:4px 0}.goal.done{color:#277449}.goal i{font-style:normal;color:#73816d}h2{font:20px Georgia,serif;margin:17px 0 12px}#tools{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tool{padding:8px 5px;text-align:left;position:relative;min-height:68px;background:#f9f7ec}.tool b{font-size:12px;display:block}.tool span{font-size:11px;color:#657563}.tool .key{position:absolute;right:7px;top:5px;font-size:10px}.tool.selected{background:#173f3c;color:#fff;box-shadow:0 3px 8px #1b46451c;border-color:#173f3c}.tool.selected span{color:#c9dacb}.tool-note{font-size:12px;min-height:51px;color:#536a5c}.edit-actions{display:flex;gap:6px}.edit-actions button{flex:1;padding:8px}.play{min-width:0}.map-head{display:flex;justify-content:space-between;align-items:center;padding:2px 7px}.map-head h2{font-size:25px;margin:3px 0}.badge{border:1px solid #c8d6be;border-radius:30px;padding:5px 12px;font-size:11px;color:#597452}.canvas-wrap{position:relative;background:radial-gradient(ellipse at 50% 48%,#dceacb,#eaf0df 65%,#f2f1e3);border-radius:16px;border:1px solid #d6dfcc;overflow:hidden;margin-top:13px}canvas{display:block;width:100%;height:auto;touch-action:manipulation;cursor:crosshair}.map-label{position:absolute;bottom:9px;left:17px;pointer-events:none;font-size:9px;letter-spacing:.2em;color:#73856f}.selection{min-height:27px;padding:5px 9px;font-size:12px;color:#526c5c}.day-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;border-block:1px solid var(--line);padding:13px 0}.day-actions p{font-size:12px;max-width:60%;margin:0;color:#5c7163}.primary{background:#173e3b;color:#fff;border:0;padding:13px 20px;white-space:nowrap}.primary:hover{background:#285c53}.primary span{padding-left:14px}.journal{background:#fffaf0;padding:2px 18px 12px;border-radius:12px;margin-top:15px;border:1px solid #e2dfcd}.journal h2{font-size:17px;margin-bottom:5px}.journal p{font-size:13px;margin:6px 0}#history{padding-left:16px;font-size:12px;color:#6b7b68}#history:empty{display:none}#result{background:#f0e5bc;border:1px solid #d4c583;padding:16px;border-radius:10px;margin-top:12px}#result h2{margin-top:0}#result p{font-size:13px}footer{font-size:11px;color:#71806c;padding:26px 0}a{color:inherit}dialog{max-width:570px;border:1px solid #c8d2bd;border-radius:18px;padding:26px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #0c31294d}dialog::backdrop{background:#10312c80}dialog h2{font-size:29px;margin-top:0}dialog p,dialog li{font-size:14px}dialog li{margin-bottom:10px}[hidden]{display:none!important}@media(max-width:900px){main{padding:0 16px}header{padding:24px 16px}.layout{grid-template-columns:210px minmax(0,1fr);gap:14px}aside{padding:12px}.day-actions{align-items:stretch;flex-direction:column;gap:8px}.day-actions p{max-width:100%}h1{font-size:34px}h1 span{display:block;border:0;margin:5px 0;padding:0}}@media(max-width:650px){.layout{display:flex;flex-direction:column}.play{order:0}aside{order:1;width:100%}#tools{grid-template-columns:repeat(4,1fr)}.tool-note{min-height:0}.dashboard{padding:13px 0;margin-bottom:13px;gap:4px}.dashboard>div{padding-left:8px}small{font-size:8px}strong{font-size:21px}.header-actions{flex-direction:column}.header-actions button{font-size:11px;padding:7px}.map-head h2{font-size:20px}.badge{font-size:10px}.canvas-wrap{margin-top:7px}.chapter{padding-bottom:10px}.journal{padding-inline:12px}footer{font-size:10px}}

.touch-controls{display:flex;gap:6px;padding-top:8px}.touch-controls button{min-width:44px;min-height:44px;padding:8px 12px}.touch-controls #place{margin-left:auto;background:#e5e9d8}
