:root{color-scheme:light;--bg:#f3eee5;--panel:#fffaf2;--panel-strong:#fffdf8;--ink:#1a2030;--muted:#686576;--line:#d9cdbd;--brand:#101b33;--brand2:#29486d;--brand3:#3c5d83;--gold:#c2a15f;--copper:#985a30;--plum:#6c3f63;--plum-soft:#eee3eb;--soft:#eee7dc;--danger:#984653;--warning:#8b5c1d;--success:#345d78;--success-soft:#e3edf3;--shadow:0 16px 50px rgba(16,27,51,0.09)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}body{line-height:1.45;background-image:radial-gradient(circle at 92% 0,rgba(108,63,99,.07),transparent 30rem),linear-gradient(180deg,rgba(255,253,248,.45),transparent 25rem)}::selection{background:rgba(194,161,95,.34);color:var(--brand)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}input,select,textarea{accent-color:var(--plum)}button:disabled{opacity:.55;cursor:not-allowed}a,button,input,select,textarea{outline-color:var(--gold)}.appShell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{background:linear-gradient(180deg,#101b33,#172640 58%,#20263c);color:#f5eee4;padding:28px 18px 20px;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;box-shadow:12px 0 36px rgba(16,27,51,.08)}.brand{font-family:Georgia,serif;font-size:21px;padding:0 9px;letter-spacing:.01em}.brand:after{content:"";display:block;width:38px;height:1px;margin-top:13px;background:var(--gold);opacity:.8}.brand small{display:block;margin-top:6px;font:700 10px Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#cfc4ba}.newBtn{display:block;background:linear-gradient(135deg,#d5b77e,#bd8c51);color:var(--brand);text-align:center;font-weight:850;margin:25px 0 16px;padding:12px;border:1px solid rgba(255,250,242,.12);border-radius:11px;box-shadow:0 8px 24px rgba(7,14,29,.22);transition:filter .16s ease,transform .16s ease}.newBtn:hover{filter:brightness(1.06);transform:translateY(-1px)}.nav{display:grid;grid-gap:5px;gap:5px}.nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid transparent;border-radius:10px;color:#ddd9dc;font-size:14px;transition:background .16s ease,border-color .16s ease,color .16s ease}.nav a:hover{background:rgba(255,250,242,.07);color:#fffaf2}.nav a.active{background:linear-gradient(90deg,rgba(194,161,95,.2),rgba(108,63,99,.18));border-color:rgba(194,161,95,.24);color:#fffaf2}.nav i{width:18px;text-align:center;font-style:normal;color:#d3b270}.connectionStack{margin-top:auto;display:grid;grid-gap:6px;gap:6px;padding:15px 9px;border-top:1px solid rgba(255,250,242,.13)}.statusDot{font-size:11px;color:#e6b8b3}.statusDot:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#c36f63;margin-right:7px}.statusDot.ok{color:#e8d8ae}.statusDot.ok:before{background:var(--gold);box-shadow:0 0 0 3px rgba(194,161,95,.12)}.logout{border:0;background:transparent;color:#d5d1d4;text-align:left;padding:8px 9px;cursor:pointer;font-size:12px}.logout:hover{color:#fffaf2}.main{padding:34px 40px 55px;min-width:0;max-width:none;width:100%;margin:0 auto}.main footer{margin-top:42px;color:var(--muted);font-size:11px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--copper);font-weight:900}.h1,h1{font-family:Georgia,serif;font-size:37px;line-height:1.15;margin:5px 0 6px;font-weight:500;color:var(--brand);letter-spacing:-.015em}.muted,.sub{color:var(--muted)}.sub{max-width:800px}.grid{display:grid;grid-gap:17px;gap:17px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:var(--shadow)}.card.flat{box-shadow:none}.card h2,.card h3{margin:0 0 8px;color:var(--brand)}.label{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:900}.metric{font:500 31px Georgia,serif;margin-top:5px;color:var(--brand2)}.pill{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:99px;background:var(--soft);color:#4b4856;font-size:11px;font-weight:800;white-space:nowrap}.pill.success{background:var(--success-soft);color:var(--success)}.pill.warning{background:#f5e7ce;color:var(--warning)}.progress{height:7px;background:#ded7cc;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--brand2),var(--gold));border-radius:99px}.btn{border:1px solid var(--line);background:var(--panel-strong);border-radius:9px;padding:9px 12px;cursor:pointer;font-weight:750;font-size:13px;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.btn:hover:not(:disabled){border-color:#b59c79;background:#fffdf9;transform:translateY(-1px)}.btn.primary{background:var(--brand2);border-color:var(--brand2);color:#fffaf2;box-shadow:0 7px 18px rgba(41,72,109,.15)}.btn.primary:hover:not(:disabled){background:var(--brand3);border-color:var(--brand3)}.btn.warm{background:#ead7b5;border-color:#cfaa72;color:#3f2e24}.btn.danger{color:var(--danger);border-color:#dfb7bc}.btn.ghost{background:transparent}.wide{width:100%}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sectionTitle{font:500 25px Georgia,serif;margin:31px 0 13px;color:var(--brand)}.field{display:grid;grid-gap:6px;gap:6px}.field>label,.field>span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:850}.field input,.field select,.field textarea,input.input,select.input{width:100%;padding:10px 11px;border-radius:9px;border:1px solid var(--line);background:var(--panel-strong);color:var(--ink);transition:border-color .16s ease,box-shadow .16s ease}.field input:focus,.field select:focus,.field textarea:focus,input.input:focus,select.input:focus{border-color:#ad8a57;box-shadow:0 0 0 3px rgba(194,161,95,.15);outline:none}.field textarea{min-height:110px;resize:vertical}.form{display:grid;grid-gap:13px;gap:13px}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:flex-end}.toolbar>.field{min-width:160px;flex:1 1}.notice{border-radius:11px;padding:11px 13px;background:#fff5df;border:1px solid #e6cd96;color:#65481c;font-size:13px}.notice.danger{background:#fff0ef;border-color:#e8bdc2;color:#803a47}.notice.success{background:var(--success-soft);border-color:#b8cfdd;color:var(--success)}.empty{padding:28px;color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:12px;background:rgba(255,250,242,.38)}.storyRow,.storyTable{display:grid}.storyRow{grid-template-columns:minmax(220px,1.6fr) minmax(140px,.8fr) minmax(105px,.55fr) minmax(130px,.7fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.storyRow:last-child{border-bottom:0}.week{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));grid-gap:10px;gap:10px;overflow-x:auto;padding-bottom:5px}.day{min-height:215px;background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:12px}.day.sabbath{opacity:.7;background:#eee9e2}.dayName{font-weight:900;color:var(--brand)}.slot{margin-top:12px;border-radius:11px;padding:11px;background:#eee5d8;border-left:3px solid var(--copper);cursor:-webkit-grab;cursor:grab}.slot:active{cursor:-webkit-grabbing;cursor:grabbing}.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));grid-gap:7px;gap:7px;overflow-x:auto}.monthDay{min-height:125px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px}.monthDay.out{opacity:.4}.monthDay time{font-size:12px;font-weight:850;color:var(--brand2)}.genreGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:13px;gap:13px}.genre{cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.genre:hover{transform:translateY(-2px);border-color:#b79568}.genre.selected{outline:3px solid rgba(108,63,99,.78);border-color:#a683a0;box-shadow:0 14px 36px rgba(108,63,99,.11)}.genre .emoji{font-size:27px}.stepbar{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 22px}.step{font-size:11px;padding:6px 9px;border-radius:99px;background:#e7dfd5;color:#5c5864}.step.done{background:#e4ebf2;color:#315570}.step.active{background:var(--plum-soft);color:var(--plum);box-shadow:inset 0 0 0 1px rgba(108,63,99,.14)}.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin:8px 0 22px}.tabs a,.tabs button{padding:10px 12px;border:0;background:none;cursor:pointer;white-space:nowrap;color:var(--muted);font-weight:750}.tabs button{display:inline-flex;align-items:center;gap:7px}.tabs button>span{width:20px;height:20px;display:inline-grid;place-items:center;border-radius:50%;background:var(--soft);color:var(--muted);font-size:10px}.tabs button.active>span{background:var(--plum-soft);color:var(--plum)}.tabs a:hover,.tabs button:hover{color:var(--plum)}.tabs .active{color:var(--brand);border-bottom:2px solid var(--copper)}.constraint{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:10px;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.block{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--panel-strong);margin-bottom:11px}.block.locked{border-left:4px solid var(--gold)}.blockHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.editor{width:100%;min-height:620px;padding:24px;border:1px solid var(--line);border-radius:11px;background:var(--panel-strong);color:var(--ink);font-family:Georgia,serif;font-size:18px;line-height:1.75;resize:vertical}.editor:focus{border-color:#ad8a57;box-shadow:0 0 0 3px rgba(194,161,95,.15);outline:none}.version{padding:11px 0;border-bottom:1px solid var(--line)}.diff{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;white-space:pre-wrap;max-height:380px;overflow:auto;background:#eee9e3;padding:12px;border-radius:10px}.diffAdd{background:#e2ecf2}.diffRemove{background:#f5dddd;text-decoration:line-through}.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);grid-gap:17px;gap:17px}.writingWorkspace{display:grid;grid-template-columns:minmax(0,6fr) minmax(220px,1fr);grid-gap:17px;gap:17px;align-items:start}.writingPrimary{min-width:0}.writingHistory{max-height:760px;overflow:auto}.writingHeaderActions{display:flex;align-items:flex-start;justify-content:flex-end;gap:9px;flex-wrap:wrap}.writingMode{position:fixed;inset:0;z-index:180;overflow:auto;padding:24px 30px 32px;background:var(--bg)}.writingMode .topbar{position:-webkit-sticky;position:sticky;top:-24px;z-index:2;margin:-24px -30px 16px;padding:18px 30px;background:rgba(243,238,229,.96);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.writingMode .writingWorkspace{grid-template-columns:1fr}.writingMode .versionComparison,.writingMode .writingHistory{display:none}.writingMode .editor{min-height:calc(100vh - 220px);resize:none}.artChoice{min-height:145px}.loginPage,.splash{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,rgba(108,63,99,.13),transparent 30rem),radial-gradient(circle at 12% 86%,rgba(194,161,95,.12),transparent 24rem),var(--bg)}.loginCard{width:min(430px,calc(100% - 32px));background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 24px 70px rgba(16,27,51,.14);display:grid;grid-gap:14px;gap:14px}.loginCard h1{font-size:32px;margin:0}.loginCard p{color:var(--muted);margin:0}.brandMark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--brand2),var(--brand));color:#ead4a9;border:1px solid rgba(194,161,95,.5);box-shadow:0 9px 24px rgba(16,27,51,.18);font:700 18px Georgia,serif}.splash{align-content:center;gap:10px;color:var(--muted)}.modalBackdrop{position:fixed;inset:0;background:rgba(13,22,42,.62);display:grid;place-items:center;z-index:30;padding:18px}.modal{background:var(--panel);border:1px solid rgba(194,161,95,.35);border-radius:16px;padding:22px;width:min(620px,100%);max-height:90vh;overflow:auto;box-shadow:0 26px 80px rgba(13,22,42,.22)}.modal h2{margin-top:0}.inlineEdit{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:6px 2px}.chapterNumber{width:38px;border:0;background:transparent;color:inherit}.sequenceGrid{grid-template-columns:70px 1fr}.checklist,.sequenceGrid{display:grid;grid-gap:9px;gap:9px}.checkline{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.passwordField{position:relative;display:block}.passwordField input{padding-right:48px}.passwordToggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:8px;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.passwordToggle:focus-visible,.passwordToggle:hover{background:var(--plum-soft);color:var(--plum)}.passwordToggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.routeProgress{position:fixed;z-index:100;left:0;right:0;top:0;height:3px;overflow:hidden;background:rgba(194,161,95,.2)}.routeProgress:after{content:"";display:block;width:40%;height:100%;background:linear-gradient(90deg,var(--gold),#d8bd82);box-shadow:0 0 9px rgba(194,161,95,.55);animation:routeProgress 1s ease-in-out infinite}@keyframes routeProgress{0%{transform:translateX(-100%)}to{transform:translateX(350%)}}.generationProgress{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border:1px solid #c9b7c6;border-radius:11px;background:var(--plum-soft);color:#55314e}.generationProgress .spinner{width:18px;height:18px;border:2px solid #d7c2d1;border-top:2px solid var(--plum);border-radius:50%;animation:spin .8s linear infinite;flex:0 0 auto}.generationControl{display:grid;grid-gap:9px;gap:9px;min-width:min(100%,260px)}.generationControl>.actions{justify-content:flex-end}.workflowNav{position:-webkit-sticky;position:sticky;bottom:14px;z-index:40;display:grid;grid-gap:9px;gap:9px;margin:34px 0 0;padding:11px;border:1px solid rgba(194,161,95,.45);border-radius:15px;background:rgba(255,250,242,.94);box-shadow:0 16px 45px rgba(16,27,51,.16);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.workflowNavRow{display:grid;grid-template-columns:minmax(150px,auto) minmax(220px,1fr) minmax(150px,auto);grid-gap:14px;gap:14px;align-items:center}.workflowPosition{display:grid;justify-items:center;grid-gap:2px;gap:2px;color:var(--brand)}.workflowPosition>span{color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.workflowRail{width:min(360px,100%);display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;margin-top:5px}.workflowRail i{height:3px;border-radius:99px;background:#ded7cc}.workflowRail i.complete{background:linear-gradient(90deg,var(--brand2),var(--gold))}.workflowGeneration{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--plum);font-size:12px}.workflowGeneration .spinner{width:14px;height:14px;border:2px solid #d7c2d1;border-top:2px solid var(--plum);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1100px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.week{grid-template-columns:repeat(7,210px)}.storyRow{grid-template-columns:1.4fr .8fr .6fr auto}.storyRow>:nth-child(4){display:none}}@media (max-width:850px){.appShell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;padding:15px}.brand{display:none}.newBtn{margin:0 0 10px}.nav{grid-template-columns:repeat(4,1fr)}.nav a{justify-content:center}.connectionStack,.logout{display:none}.main{padding:22px}.split,.writingWorkspace{grid-template-columns:1fr}.writingHistory{max-height:none}.workflowNavRow{grid-template-columns:1fr 1fr}.workflowPosition{grid-column:1/-1;grid-row:1}.calendarGrid{grid-template-columns:repeat(7,150px)}}@media (max-width:620px){.main{padding:17px}.nav{grid-template-columns:repeat(4,1fr)}.nav a{padding:8px 4px;justify-items:center;grid-gap:2px;gap:2px;font-size:10px}.nav a,.topbar{display:grid}.h1,h1{font-size:30px}.g2,.g3,.g4,.genreGrid,.storyRow{grid-template-columns:1fr}.storyRow>*{display:block!important}.constraint{grid-template-columns:1fr auto}.monthDay{min-height:105px}.toolbar{display:grid}.toolbar>.field{min-width:0}.workflowNav{bottom:7px;padding:8px}.workflowNavRow{gap:7px}.workflowNavRow .btn{padding:8px;font-size:11px}.writingMode{padding:16px}.writingMode .topbar{top:-16px;margin:-16px -16px 12px;padding:14px 16px}.writingMode .editor{min-height:calc(100vh - 250px)}}