@font-face{font-family:Kotonoha Serif;src:local(Noto Serif JP),url(../media/NotoSerifJP-Regular.16s5by4p1n921.otf)format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Kotonoha Serif;src:local(Noto Serif JP Bold),url(../media/NotoSerifJP-Bold.3digd42iws4c4.otf)format("opentype");font-weight:700;font-display:swap}:root{--bg:#0f141a;--panel:#161c24;--panel2:#1c232d;--line:#2a3340;--line2:#3a4656;--text:#ece6d8;--text2:#c9c3b6;--muted:#8d97a4;--gold:#c9a54a;--gold2:#e2c46e;--gold-dim:#6e5a2a;--ok:#4f9a63;--ok-bg:#1c3324;--ng:#b2504a;--ng-bg:#3a1f1d;--warn:#c48a3a;--warn-bg:#3d2c14;--input-bg:#0b0f14;--on-gold:#1a1408;--on-ok:#cfe9d4;--on-ng:#f0cfcc;--on-warn:#e3c58f;--toast-ok-bg:#243d2b;--toast-ok-text:#e9f3ea;--toast-err-bg:#432322;--toast-err-text:#f5dcd9;--mark-bg:#4a3a12;--mark-text:#ffd98a;--footer-text:#5c6672;--link-dim:#7d8794;--button-bg-top:#2a3441;--button-bg-bottom:#222b36;--primary-top:#d9b65a;--primary-bottom:#b8933c;--primary-border:#e2c46e;--primary-hover-top:#e6c66a;--primary-hover-bottom:#c9a54a;--serif:"Kotonoha Serif","Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Segoe UI","Yu Gothic UI","Meiryo","Hiragino Sans",system-ui,sans-serif;--mono:Consolas,"Cascadia Mono",monospace;--font-size-base:15px;--font-line-height-body:1.75;--font-line-height-manuscript:1.9;--font-h1:1.45rem;--font-h2:1.02rem;--font-small:.85rem;--font-label:.82rem;--radius-card:10px;--radius-control:6px;--radius-modal:12px;--radius-pill:999px;--radius-image:6px;--radius-logo:8px;--space-page-x:1.25rem;--space-page-x-mobile:.8rem;--space-card:1rem 1.15rem;--space-button:.38rem 1.05rem;--space-control:.35rem .55rem;--size-page-max:1040px;--size-logo:34px;--size-tap-min:44px;--size-modal-max:min(520px,90vw);--shadow-card:0 1px 0 #0006,0 6px 18px -12px #000;--shadow-modal:0 16px 48px #000c;--shadow-toast:0 4px 18px #000a;--shadow-focus:0 0 0 3px #c9a54a2e;--motion-fast:.15s;--motion-press:50ms;--motion-toast-fade:.4s;--color-scheme:dark}[data-theme=light]{--bg:#f6f2ea;--panel:#fffdf8;--panel2:#f3eee4;--line:#d9d2c4;--line2:#bfb6a4;--text:#1d2129;--text2:#3b4250;--muted:#6b7482;--gold:#9a7a2a;--gold2:#7a5f1c;--gold-dim:#d9c89a;--ok:#2f7a44;--ok-bg:#dff0e3;--ng:#a33d37;--ng-bg:#f6dedc;--warn:#9a6a1f;--warn-bg:#f7e8cc;--input-bg:#fff;--on-gold:#1a1408;--on-ok:#1c3324;--on-ng:#3a1f1d;--on-warn:#3d2c14;--toast-ok-bg:#dff0e3;--toast-ok-text:#1c3324;--toast-err-bg:#f6dedc;--toast-err-text:#3a1f1d;--mark-bg:#fbe7b0;--mark-text:#4a3a12;--footer-text:#8a8f98;--link-dim:#6b7482;--button-bg-top:#fff;--button-bg-bottom:#efe9dd;--primary-top:#d9b65a;--primary-bottom:#b8933c;--primary-border:#b8933c;--primary-hover-top:#e6c66a;--primary-hover-bottom:#c9a54a;--color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme]){--bg:#f6f2ea;--panel:#fffdf8;--panel2:#f3eee4;--line:#d9d2c4;--line2:#bfb6a4;--text:#1d2129;--text2:#3b4250;--muted:#6b7482;--gold:#9a7a2a;--gold2:#7a5f1c;--gold-dim:#d9c89a;--ok:#2f7a44;--ok-bg:#dff0e3;--ng:#a33d37;--ng-bg:#f6dedc;--warn:#9a6a1f;--warn-bg:#f7e8cc;--input-bg:#fff;--on-gold:#1a1408;--on-ok:#1c3324;--on-ng:#3a1f1d;--on-warn:#3d2c14;--toast-ok-bg:#dff0e3;--toast-ok-text:#1c3324;--toast-err-bg:#f6dedc;--toast-err-text:#3a1f1d;--mark-bg:#fbe7b0;--mark-text:#4a3a12;--footer-text:#8a8f98;--link-dim:#6b7482;--button-bg-top:#fff;--button-bg-bottom:#efe9dd;--primary-top:#d9b65a;--primary-bottom:#b8933c;--primary-border:#b8933c;--primary-hover-top:#e6c66a;--primary-hover-bottom:#c9a54a;--color-scheme:light}}
*{box-sizing:border-box}html{background:var(--bg)}body{font-family:var(--serif);background:var(--bg);color:var(--text);padding:0 var(--space-page-x) 2rem;max-width:var(--size-page-max);margin:0;line-height:var(--font-line-height-body);font-size:var(--font-size-base);margin-inline:auto}a{color:var(--gold2);transition:border-color var(--motion-fast);border-bottom:1px solid #0000;text-decoration:none}a:hover{border-bottom-color:var(--gold2)}h1{font-family:var(--serif);font-weight:700;font-size:var(--font-h1);color:var(--text);border-left:4px solid var(--gold);letter-spacing:.02em;margin:1.1rem 0 .8rem;padding-left:.75rem;line-height:1.4}h2{font-family:var(--serif);font-weight:700;font-size:var(--font-h2);color:var(--gold2);letter-spacing:.06em;margin:1.2rem 0 .4rem}h2:after{content:"";background:linear-gradient(90deg,var(--gold-dim),transparent 70%);height:1px;margin-top:.25rem;display:block}.card h2:first-child{margin-top:0}.top{border-bottom:1px solid var(--line);font-family:var(--sans);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.2rem;padding:.55rem 0 .5rem;display:flex}.top .brand{color:var(--text);border:0;align-items:center;gap:.55rem;display:flex}.top .brand img{width:var(--size-logo);height:var(--size-logo);border-radius:var(--radius-logo);box-shadow:0 0 0 1px var(--line2)}.top .brand b{font-family:var(--serif);letter-spacing:.08em;color:var(--gold2);font-size:1.05rem;font-weight:700}.top .brand small{color:var(--muted);letter-spacing:.05em;margin-left:.5rem;font-size:.72rem}.top nav a{color:var(--text2);border-bottom:1px solid #0000;margin-left:1.1rem;padding:.2rem 0;font-size:.85rem}.top nav a:hover{color:var(--gold2);border-bottom-color:var(--gold2)}.top nav a.quit{color:var(--muted)}.top nav .langsw{letter-spacing:.04em;margin-left:1.1rem;font-size:.8rem}.top nav .langsw a{border:1px solid var(--line2);color:var(--muted);border-radius:4px 0 0 4px;margin-left:0;padding:.15rem .45rem}.top nav .langsw a+a{border-left:0;border-radius:0 4px 4px 0}.top nav .langsw a.on{color:var(--on-gold);background:var(--gold);border-color:var(--gold);font-weight:600}.card{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-card);background:linear-gradient(180deg,var(--panel2),var(--panel));box-shadow:var(--shadow-card);margin:.9rem 0}.card.muted{color:var(--muted)}.card.done{border-color:var(--ok);background:linear-gradient(180deg,var(--ok-bg),var(--panel))}.card.cur{outline:2px solid var(--gold);outline-offset:2px}button,.btn{font-family:var(--sans);padding:var(--space-button);background:linear-gradient(180deg,var(--button-bg-top),var(--button-bg-bottom));color:var(--text);border:1px solid var(--line2);border-radius:var(--radius-control);cursor:pointer;min-height:var(--size-tap-min);transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast),transform var(--motion-press);margin:.15rem .2rem .15rem 0;font-size:.92rem}button:hover,.btn:hover{border-color:var(--gold);color:var(--gold2)}button:active{transform:translateY(1px)}button.small{min-height:0;padding:.2rem .65rem;font-size:.8rem}button.on-ok{background:var(--ok-bg);border-color:var(--ok);color:var(--on-ok)}button.on-ng{background:var(--ng-bg);border-color:var(--ng);color:var(--on-ng)}button:disabled{opacity:.38;cursor:default;transform:none}button.on-ok:disabled{opacity:1;background:var(--ok);border-color:var(--ok);color:var(--on-gold);font-weight:600}button:disabled:hover{border-color:var(--line2);color:var(--text)}button.sending{opacity:.7}button.primary{background:linear-gradient(180deg,var(--primary-top),var(--primary-bottom));color:var(--on-gold);border-color:var(--primary-border);font-weight:600}button.primary:hover{background:linear-gradient(180deg,var(--primary-hover-top),var(--primary-hover-bottom));color:var(--on-gold)}a.help{text-align:center;border:1px solid var(--line2);width:1.35rem;height:1.35rem;color:var(--muted);line-height:1.35rem;font-family:var(--sans);vertical-align:middle;border-radius:50%;margin-left:.5rem;font-size:.75rem;font-weight:400;display:inline-block}a.help:hover{border-color:var(--gold);color:var(--gold)}.steps{font-family:var(--sans);flex-wrap:wrap;align-items:center;gap:.3rem;margin:.2rem 0 .6rem;display:flex}.steps .step{border:1px solid var(--line2);border-radius:var(--radius-pill);color:var(--muted);padding:.22rem .85rem;font-size:.85rem;text-decoration:none}.steps .step.done{border-color:var(--ok);color:var(--on-ok);background:var(--ok-bg)}.steps .step.now{background:linear-gradient(180deg,var(--primary-top),var(--primary-bottom));color:var(--on-gold);border-color:var(--primary-border);font-weight:600}.steps .step:hover{border-color:var(--gold)}.steps .arrow{color:var(--line2);font-size:.9rem}.steps .detail{color:var(--muted);margin-left:.4rem;font-size:.85rem}.badge{border-radius:var(--radius-pill);font-family:var(--sans);border:1px solid var(--line2);color:var(--muted);padding:.05rem .55rem;font-size:.8rem;display:inline-block}.badge.warn{border-color:var(--warn);color:var(--on-warn)}.badge.gold{border-color:var(--gold);color:var(--gold2)}.badge.ok{border-color:var(--ok);color:var(--on-ok);background:var(--ok-bg)}.badge.ng{border-color:var(--ng);color:var(--on-ng);background:var(--ng-bg)}.flag{background:var(--warn-bg);border:1px solid var(--warn);color:var(--on-warn);border-radius:var(--radius-control);font-family:var(--sans);margin:.2rem 0;padding:.1rem .55rem;font-size:.82rem;display:inline-block}kbd{font-family:var(--sans);border:1px solid var(--line2);color:var(--text2);border-bottom-width:2px;border-radius:4px;padding:0 .35rem;font-size:.75rem}.busybar{z-index:20;background:var(--warn-bg);border:1px solid var(--warn);font-family:var(--sans);border-radius:8px;margin:.3rem 0 .9rem;padding:.55rem .9rem;position:sticky;top:0;box-shadow:0 6px 18px -8px #000}.busybar .muted{color:var(--on-warn)}.busybar .bar{background:#0008;border-radius:3px;height:6px;margin:.3rem 0}.busybar .bar i{background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:3px;width:0;height:6px;transition:width .5s;display:block}#toast{z-index:50;background:var(--toast-ok-bg);border:1px solid var(--ok);color:var(--toast-ok-text);box-shadow:var(--shadow-toast);max-width:80vw;transition:opacity var(--motion-toast-fade);font-family:var(--sans);border-radius:8px;padding:.55rem 1.1rem;font-size:.92rem;position:fixed;top:14px;left:50%;transform:translate(-50%)}#toast.err{background:var(--toast-err-bg);border-color:var(--ng);color:var(--toast-err-text)}#modal{z-index:60;background:#000a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#modal .box{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--gold);border-radius:var(--radius-modal);max-width:var(--size-modal-max);box-shadow:var(--shadow-modal);font-family:var(--sans);padding:1.2rem 1.4rem}#modal .msg{white-space:pre-wrap;line-height:1.7;font-family:var(--serif);margin-bottom:1rem;font-size:1rem}#modal .btns{text-align:right}textarea,input[type=text],input[type=email],input[type=number],input[type=file],select{background:var(--input-bg);width:100%;color:var(--text);border:1px solid var(--line2);border-radius:var(--radius-control);font-family:var(--sans);padding:var(--space-control);min-height:var(--size-tap-min);transition:border-color var(--motion-fast),box-shadow var(--motion-fast);font-size:.92rem}textarea{font-family:var(--serif);line-height:1.7}textarea:focus,input:focus,select:focus{border-color:var(--gold);box-shadow:var(--shadow-focus);outline:none}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 14px) 55%,calc(100% - 9px) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:1.8rem}select option{background:var(--input-bg);color:var(--text)}label{color:var(--gold2);font-size:var(--font-label);font-family:var(--sans);letter-spacing:.03em;margin-top:.65rem;display:block}mark{background:var(--mark-bg);color:var(--mark-text);border-radius:3px;padding:0 3px}.muted{color:var(--muted);font-size:.85rem;font-family:var(--sans)}.nav{color:var(--muted);font-size:.85rem;font-family:var(--sans);margin-bottom:.2rem}.footer{color:var(--footer-text);border-top:1px solid var(--line);text-align:center;font-size:.74rem;font-family:var(--sans);letter-spacing:.04em;margin-top:2.5rem;padding-top:.7rem}.footer a{color:var(--link-dim)}pre.log{background:var(--input-bg);border:1px solid var(--line);max-height:16rem;font-size:.8rem;font-family:var(--mono);color:var(--text2);white-space:pre-wrap;word-break:break-word;border-radius:8px;padding:.7rem .8rem;overflow:auto}details{margin:.8rem 0}summary{cursor:pointer;color:var(--gold2);font-family:var(--sans);font-size:.9rem}summary:hover{text-decoration:underline}table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:.9rem}td,th{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.35rem .6rem}th{color:var(--gold2);letter-spacing:.05em;font-size:.8rem;font-weight:600}tr:hover td{background:#8080800f}hr{border:0;border-top:1px solid var(--line);margin:1rem 0}code{font-family:var(--mono);background:var(--input-bg);color:var(--gold2);border-radius:3px;padding:0 .3rem;font-size:.9em}::selection{background:#c9a54a55}.manuscript{font-family:var(--serif);line-height:var(--font-line-height-manuscript);font-size:1rem}.manuscript.vertical{writing-mode:vertical-rl;text-orientation:mixed;height:70vh;overflow-x:auto}.manuscript rt{font-size:.5em}.manuscript .em{text-emphasis:sesame}@media (max-width:767px){body{padding:0 var(--space-page-x-mobile) 2rem}.top .brand small{display:none}}
body{padding:0 var(--space-page-x) 0;flex-direction:column;max-width:none;min-height:100dvh;display:flex}.top .brand small{display:none}@media (min-width:900px){.top .brand small{display:inline}}.top nav{flex-wrap:wrap;align-items:center;gap:0;display:flex}main.page{max-width:var(--size-page-max);flex:1;width:100%;margin:0 auto}#modal{z-index:60;background:#0008;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#modal.show{display:flex}#modal .box{background:var(--panel);border:1px solid var(--line2);border-radius:var(--radius-card);min-width:min(420px,92vw);box-shadow:var(--shadow-card);font-family:var(--sans);padding:1.2rem 1.4rem}#modal .box h3{color:var(--gold2);font-family:var(--serif);margin:0 0 .6rem}#modal .actions{justify-content:flex-end;gap:.4rem;margin-top:.8rem;display:flex}label{font-family:var(--sans);color:var(--muted);margin:.5rem 0 .15rem;font-size:.8rem;display:block}input,textarea,select{width:100%;font-family:var(--sans);background:var(--input-bg);color:var(--text);border:1px solid var(--line2);border-radius:var(--radius-control);padding:.45rem .6rem;font-size:.95rem}textarea{resize:vertical}.muted{color:var(--muted);font-family:var(--sans);font-size:.82rem}.row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.grow{flex:1}.studio{flex:1;grid-template-columns:1fr;gap:.6rem;min-height:0;padding-bottom:3.4rem;display:grid}.pane{border:1px solid var(--line);border-radius:var(--radius-card);background:linear-gradient(180deg,var(--panel2),var(--panel));flex-direction:column;min-height:0;display:none;overflow:hidden}.pane.on{display:flex}.pane>.head{border-bottom:1px solid var(--line);font-family:var(--sans);color:var(--gold2);letter-spacing:.04em;align-items:center;gap:.4rem;padding:.45rem .7rem;font-size:.85rem;font-weight:600;display:flex}.pane>.body{flex:1;min-height:0;padding:.6rem .7rem;overflow:auto}.tabs{background:var(--panel);border-top:1px solid var(--line2);font-family:var(--sans);z-index:30;padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabs button{min-height:3rem;color:var(--muted);background:0 0;border:0;border-radius:0;flex:1;margin:0}.tabs button.on{color:var(--gold2);box-shadow:inset 0 3px 0 var(--gold);font-weight:600}@media (min-width:760px){.studio{grid-template-columns:minmax(0,1fr) minmax(300px,34%);padding-bottom:0}.pane.manuscript,.pane.codex.on,.pane.chat.on{display:flex}.tabs{background:0 0;border:0;justify-content:flex-end;padding:0;position:static}.tabs button{border:1px solid var(--line2);border-radius:var(--radius-control);flex:none;min-height:0;margin-left:.3rem;padding:.2rem .7rem}.tabs button.manuscript{display:none}}@media (min-width:1200px){.studio{grid-template-columns:minmax(240px,22%) minmax(0,1fr) minmax(320px,30%)}.pane{display:flex!important}.tabs{display:none}}.ProseMirror{font-family:var(--serif);outline:none;min-height:40vh;padding:.4rem .2rem;font-size:1.05rem;line-height:2}.ProseMirror p{text-indent:1em;margin:0 0 .2em}.ProseMirror p:has(>br:only-child){text-indent:0}.ProseMirror ruby rt{color:var(--text2);letter-spacing:0;font-size:.5em}.ProseMirror .bouten{text-emphasis:sesame;text-emphasis-position:over}.ProseMirror .scene-break{text-align:center;color:var(--muted);text-indent:0}.ProseMirror .codex-hit{border-bottom:1px dotted var(--gold)}.manuscript .body.vertical{overflow:auto}.manuscript .vertical .ProseMirror{writing-mode:vertical-rl;text-orientation:mixed;min-width:100%;height:calc(100dvh - 15rem);min-height:20rem;max-height:none;padding:.6rem}.manuscript .vertical .ProseMirror .bouten{text-emphasis-position:over}.toolbar{border-bottom:1px solid var(--line);font-family:var(--sans);flex-wrap:wrap;align-items:center;gap:.25rem;padding:.3rem .5rem;display:flex}.toolbar button{min-height:0;padding:.2rem .6rem;font-size:.82rem}.toolbar .count{color:var(--muted);margin-left:auto;font-size:.8rem}.tree{font-family:var(--sans);font-size:.88rem}.tree .ch{color:var(--gold2);align-items:center;gap:.3rem;margin:.3rem 0 .1rem;font-weight:600;display:flex}.tree .sc{border-radius:var(--radius-control);cursor:pointer;color:var(--text2);align-items:center;gap:.3rem;padding:.15rem .3rem .15rem 1rem;display:flex}.tree .sc:hover{background:var(--panel2)}.tree .sc.on{background:var(--gold-dim);color:var(--on-gold)}.tree .sc small{color:var(--muted);margin-left:auto}.tree .sc.on small{color:inherit}.tree button{min-height:0;margin:0;padding:0 .4rem;font-size:.75rem}.msgs{flex-direction:column;gap:.5rem;display:flex}.msg{border:1px solid var(--line);border-radius:var(--radius-card);font-family:var(--sans);white-space:pre-wrap;padding:.5rem .7rem;font-size:.92rem;line-height:1.65}.msg.user{background:var(--panel2);margin-left:1.5rem}.msg.assistant{background:var(--panel);font-family:var(--serif)}.msg .meta{font-family:var(--sans);color:var(--muted);align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:.72rem;display:flex}.msg .acts{flex-wrap:wrap;gap:.3rem;margin-top:.4rem;display:flex}.msg .acts button{min-height:0;padding:.15rem .6rem;font-size:.78rem}.composer{border-top:1px solid var(--line);padding:.5rem .7rem}.composer textarea{min-height:4.2rem}.cards{flex-direction:column;gap:.4rem;display:flex}.cardx{border:1px solid var(--line);border-radius:var(--radius-card);font-family:var(--sans);background:var(--panel);padding:.45rem .6rem;font-size:.86rem}.cardx.candidate{border-color:var(--warn);background:var(--warn-bg)}.cardx .n{font-family:var(--serif);color:var(--text);font-weight:700}.cardx .n small{color:var(--muted);margin-left:.3rem;font-weight:400}.cardx .b{color:var(--text2);margin:.15rem 0}.cardx .acts button{min-height:0;padding:.1rem .5rem;font-size:.76rem}.kindsel{flex-wrap:wrap;gap:.2rem;margin:.3rem 0;display:flex}.kindsel button{min-height:0;padding:.1rem .55rem;font-size:.78rem}.kindsel button.on{background:var(--gold-dim);color:var(--on-gold);border-color:var(--gold)}.works{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem;display:grid}.works .card{cursor:pointer;margin:0}.works .card:hover{border-color:var(--gold)}.works h3{font-family:var(--serif);color:var(--text);margin:0 0 .3rem}.login{max-width:420px;margin:3rem auto}.busyline{font-family:var(--sans);color:var(--on-warn);background:var(--warn-bg);border:1px solid var(--warn);border-radius:var(--radius-control);padding:.2rem .6rem;font-size:.8rem}.footer{text-align:center;color:var(--footer-text);font-family:var(--sans);padding:.6rem 0;font-size:.75rem}.studio-page{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.studio-page>.row{flex:none}.top nav .usage-text{margin-left:1.1rem;font-size:.8rem}@media (max-width:759px){.top .brand b{letter-spacing:.04em;font-size:.92rem}.top nav a{margin-left:.6rem}.top nav .usage-text{display:none}.top nav .langsw{margin-left:.6rem}}.top .brand b{white-space:nowrap}
