:root{--canvas:#eee9df;--paper:#fffdf8;--ink:#25221d;--muted:#756f65;--line:#d9d2c5;--coral:#d85e43;--coral-dark:#a83f2b;--sage:#57715a;--yellow:#fff0ae;--rail:#f8f5ee;--shadow:0 18px 48px #4c403324;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--sans);overflow:hidden}.topbar{height:64px;display:flex;align-items:center;padding:0 22px;background:var(--paper);border-bottom:1px solid var(--line);gap:24px;position:relative;z-index:5}.brand{display:flex;align-items:baseline;gap:10px;white-space:nowrap}.brand b{font:700 21px var(--serif)}.brand span,.issue-label{font-size:12px;color:var(--muted)}.issue-label{padding-left:22px;border-left:1px solid var(--line)}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.saved{font-size:11px;color:var(--sage);margin-right:6px}.button,.text-button,.tab,.icon-button,.chip,.mini,.annotate{font:700 12px var(--sans);cursor:pointer}.button{min-height:38px;padding:0 14px;border-radius:8px;border:1px solid #cfc7b9;background:white;color:var(--ink)}.button.dark{background:var(--ink);color:white;border-color:var(--ink)}.button.coral{background:var(--coral);color:white;border-color:var(--coral)}.button:focus-visible,.text-button:focus-visible,.tab:focus-visible,.chip:focus-visible,.mini:focus-visible,.sentence:focus-visible,.annotate:focus-visible{outline:3px solid #5b8def;outline-offset:2px}.simulation-banner{height:30px;background:#302c26;color:#eee6d9;display:flex;align-items:center;justify-content:center;gap:10px;font-size:10px;letter-spacing:.02em}.simulation-banner b{color:#ffbcaa;text-transform:uppercase;letter-spacing:.12em}.shell{height:calc(100vh - 94px);display:grid;grid-template-columns:minmax(560px,1fr) 420px}.document-pane{overflow:auto;padding:34px 42px 80px;border-right:1px solid var(--line)}.paper{max-width:760px;min-height:950px;margin:auto;background:var(--paper);box-shadow:var(--shadow);padding:54px 72px 80px}.paper-meta{display:flex;justify-content:space-between;align-items:center;color:#81796d;font-size:10px;text-transform:uppercase;letter-spacing:.15em}.text-button{border:0;background:none;color:var(--coral-dark);text-transform:none;letter-spacing:0}.paper h1{font:700 clamp(38px,4vw,48px)/1.04 var(--serif);letter-spacing:-.035em;margin:16px 0 13px}.dek{font:20px/1.45 var(--serif);color:#655e53;border-bottom:1px solid #e7e0d4;margin:0;padding-bottom:28px}.byline{font-size:11px;color:#81796d;margin:16px 0 32px}.story{font:17px/1.72 var(--serif)}.story p{margin:0 0 22px}.sentence{border:0;padding:2px 1px;background:transparent;font:inherit;text-align:left;color:inherit;border-radius:3px;cursor:pointer}.sentence:hover{background:#f5eecf}.sentence.selected{background:var(--yellow);box-shadow:0 0 0 4px var(--yellow);position:relative}.sentence.selected:after{content:attr(data-pin);display:inline-grid;place-items:center;width:21px;height:21px;margin-left:7px;border-radius:7px 7px 7px 2px;background:var(--coral);color:white;font:700 10px var(--sans);vertical-align:middle}.sentence.protected{text-decoration:underline;text-decoration-style:dotted;text-decoration-color:#798c7a;text-underline-offset:5px}.sentence.protected:before{content:'Protected · ';font:700 9px var(--sans);color:var(--sage);text-transform:uppercase;letter-spacing:.08em}.issue-image{margin:42px 0 0}.image-stage{height:270px;position:relative;overflow:hidden;background:linear-gradient(145deg,#abb6bb,#72858e);border-radius:2px}.notebook{position:absolute;left:16%;top:18%;width:52%;height:67%;background:#f4edda;transform:rotate(-4deg);box-shadow:0 12px 25px #25303755;padding:30px}.notebook i{display:block;border-top:1px solid #b8b1a2;margin:17px}.pencil{position:absolute;right:20%;top:10%;width:12px;height:75%;background:#304f6e;transform:rotate(20deg);box-shadow:0 5px 10px #26333d55}.image-region{position:absolute;left:38%;top:31%;width:33%;height:38%;border:2px solid #fff;background:#ffb39b25;box-shadow:0 0 0 999px #201c1833}.image-region span{position:absolute;top:-25px;left:-2px;background:white;color:#333;padding:4px 7px;font:700 9px var(--sans)}.annotate{position:absolute;right:12px;bottom:12px;border:0;border-radius:7px;padding:9px 11px;background:#fffdf8;color:var(--ink);box-shadow:0 4px 15px #25303744}.issue-image figcaption{font:italic 12px/1.5 var(--serif);color:var(--muted);margin-top:8px}.issue-image figcaption span{font-family:var(--sans);font-style:normal;font-size:10px}.review-rail{overflow:hidden;background:var(--rail);position:relative;display:grid;grid-template-rows:58px minmax(0,1fr)}#thread-view{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:contain}.rail-tabs{height:58px;display:flex;align-items:end;border-bottom:1px solid var(--line);padding:0 22px;gap:20px;background:var(--rail);z-index:3}.tab{height:58px;border:0;background:none;color:#81796e}.tab.active{border-bottom:2px solid var(--coral);color:var(--ink)}.thread-head{padding:25px 24px 18px;border-bottom:1px solid var(--line)}.anchor-label,.kicker{font-size:9px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--coral-dark)}.anchor-quote{font:italic 14px/1.45 var(--serif);color:#625b50;margin:8px 0 0}.thread-body{padding:20px 24px 60px}.message-label{font-size:10px;color:var(--muted);font-weight:700}.owner-message,.proposal{margin:8px 0 16px;padding:14px;background:white;border:1px solid var(--line);border-radius:10px;font:15px/1.5 var(--serif)}.owner-message{border-left:3px solid var(--ink)}.proposal{border-left:3px solid var(--coral);margin-bottom:10px}.proposal textarea{width:100%;border:0;resize:vertical;min-height:100px;font:15px/1.5 var(--serif);color:var(--ink);background:transparent}.recipe{border:1px solid #d8d1c4;border-top:0;background:#f0ece3;border-radius:0 0 10px 10px;margin:-12px 0 16px;padding:12px 14px;color:#665f55}.recipe strong{font-size:10px}.descriptor-row,.action-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.descriptor{font-size:9px;background:#fffdf8;border:1px solid #d7cfc1;border-radius:999px;padding:4px 7px}.mini,.chip{min-height:34px;padding:0 10px;border-radius:7px;border:1px solid #d1c9bc;background:#fff;color:var(--ink)}.mini.apply{background:var(--coral);border-color:var(--coral);color:#fff}.mini.danger{color:#a83f2b}.status-line{padding:9px 0;color:var(--sage);font-size:10px}.direction-form{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.direction-form label{display:block;font-size:10px;font-weight:800;margin-bottom:7px}.direction-form textarea{width:100%;min-height:82px;border:1px solid #cfc7ba;border-radius:9px;padding:11px;font:14px/1.4 var(--sans);background:white}.direction-form .button{width:100%;margin-top:8px}.empty{padding:35px 24px;color:var(--muted);font:16px/1.5 var(--serif)}dialog{border:1px solid var(--line);border-radius:14px;padding:0;width:min(540px,calc(100vw - 32px));box-shadow:0 25px 90px #251d1666;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#2b261f80}dialog form{padding:24px}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{font:700 28px var(--serif);margin:5px 0 20px}.icon-button{border:0;background:none;font-size:25px;color:var(--muted)}.history-item{padding:13px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between}.history-item strong{font-size:13px}.history-item span{font-size:10px;color:var(--muted)}.export-buttons{display:flex;gap:8px;margin:18px 0}.export-buttons .button{flex:1}#export-receipt{display:block;font-size:11px;color:var(--sage)}#toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);background:#28241e;color:white;border-radius:8px;padding:10px 14px;font-size:11px;opacity:0;pointer-events:none;transition:.2s;z-index:20}#toast.show{opacity:1;transform:translate(-50%,0)}.mobile-only,.rail-grabber{display:none}@media(max-width:800px){body{overflow:hidden}.topbar{height:57px;padding:0 13px}.brand span,.issue-label,.saved,#undo,#history-toggle,#export-toggle{display:none}.brand b{font-size:19px}.top-actions{gap:5px}.mobile-only{display:inline-flex;align-items:center}.simulation-banner{height:38px;padding:0 12px;justify-content:flex-start;line-height:1.25}.simulation-banner span{max-width:245px}.shell{height:calc(100vh - 95px);display:block}.document-pane{height:100%;padding:15px 10px 110px;border:0}.paper{padding:32px 24px 70px;min-height:900px}.paper h1{font-size:37px}.dek{font-size:18px}.story{font-size:16px}.image-stage{height:205px}.review-rail{position:fixed;z-index:12;left:0;right:0;bottom:0;height:min(79dvh,680px);grid-template-rows:64px minmax(0,1fr);border-radius:18px 18px 0 0;box-shadow:0 -12px 55px #342a2155;transform:translateY(calc(100% - 64px));transition:transform .26s ease}.review-rail.open{transform:translateY(0)}.rail-grabber{display:block;width:42px;height:4px;border-radius:4px;background:#c8c0b4;position:absolute;top:8px;left:calc(50% - 21px);z-index:5}.rail-tabs{padding-top:8px;height:64px;align-items:end;touch-action:none;user-select:none}.tab{height:55px}.rail-tabs .icon-button{margin-left:auto}.thread-body{padding-bottom:100px}.sentence.selected:after{margin-left:4px}.annotate{min-height:44px}.button{min-height:44px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}