.auth-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-form-side{flex-direction:column;padding:clamp(1.25rem,3vw,2.25rem) clamp(1.25rem,5vw,4.5rem) 2rem;display:flex}.auth-top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:clamp(2rem,6vh,4rem);display:flex}.auth-top .brand{padding-left:0}.auth-top a.small{color:var(--ink-2);font-size:.93rem}.auth-body{width:100%;max-width:30rem;margin:0 auto}.auth-body h1{margin-bottom:.3rem;font-size:clamp(2.1rem,1.6rem + 2vw,3rem)}.auth-body .lede{margin-bottom:1.75rem;font-size:1.08rem}.auth-form{gap:1rem;display:grid}.auth-form .btn-primary{width:100%;margin-top:.4rem}.auth-fine{color:var(--ink-3);text-align:center;margin-top:1.1rem;font-size:.86rem}.auth-fine a,.auth-alt a{color:var(--ink)}.auth-alt{border-top:1px solid var(--line);text-align:center;color:var(--ink-2);margin-top:1.4rem;padding-top:1.2rem;font-size:.95rem}.prefix-input{border:1px solid var(--line-2);background:var(--card);border-radius:10px;align-items:stretch;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.prefix-input:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.prefix-input span{color:var(--ink-3);white-space:nowrap;align-items:center;padding:0 .1rem 0 .85rem;font-size:.95rem;display:flex}.prefix-input input{min-width:0;box-shadow:none!important;background:0 0!important;border:0!important;padding-left:.15rem!important}.kind-chips{flex-wrap:wrap;gap:.45rem;display:flex}.kind-chips label{position:relative}.kind-chips input{opacity:0;cursor:pointer;position:absolute;inset:0}.kind-chips span{border:1px solid var(--line-2);background:var(--card);min-height:2.3rem;color:var(--ink-2);border-radius:999px;align-items:center;gap:.4rem;padding:0 .85rem;font-size:.92rem;display:inline-flex}.kind-chips input:checked+span{background:var(--ink);border-color:var(--ink);color:#fbf7ef}.kind-chips input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}.pw-wrap{position:relative}.pw-wrap input{padding-right:4.2rem!important}.pw-toggle{background:var(--paper-2);font:600 .8rem/1 var(--f-text);color:var(--ink-2);cursor:pointer;border:0;border-radius:7px;padding:.35rem .55rem;position:absolute;top:50%;right:.4rem;translate:0 -50%}.auth-visual{background:#1d3f73;place-items:center;padding:3rem clamp(1.5rem,4vw,4rem);display:grid;position:relative;overflow:hidden}.auth-visual:before{content:"";background:var(--airmail);height:9px;position:absolute;inset:0 0 auto}.auth-visual .postmark{color:#ffffff38;width:8rem;height:8rem;position:absolute}.auth-visual .postmark:first-of-type{top:8%;left:7%;transform:rotate(-12deg)}.auth-visual .postmark:nth-of-type(2){bottom:9%;right:8%;transform:rotate(14deg)}.auth-visual .postmark:nth-of-type(3){width:5.5rem;top:12%;right:10%;transform:rotate(6deg)}.preview-wrap{width:100%;max-width:30rem;position:relative}.preview-cap{text-align:center;color:#ffffffc7;margin:1rem 0 0;font-size:.92rem}@media (width<=920px){.auth-split{grid-template-columns:minmax(0,1fr)}.auth-visual{display:none}}.auth-center{place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.auth-card{width:100%;max-width:25.5rem;padding:clamp(1.5rem,4vw,2.25rem)}.auth-card .brand{justify-content:center;width:100%;margin-bottom:1.25rem;padding:0}.auth-card h1{text-align:center;margin-bottom:.25rem;font-size:2rem}.auth-card .lede{text-align:center;margin-bottom:1.5rem;font-size:1rem}.label-row{justify-content:space-between;align-items:baseline;display:flex}.label-row a{color:var(--ink-2);font-size:.86rem;font-weight:500}.app{background:var(--paper-2);grid-template-columns:16.5rem minmax(0,1fr);min-height:100vh;display:grid}.app-side{background:var(--paper);border-right:1px solid var(--line);flex-direction:column;gap:1.25rem;height:100vh;padding:1.1rem .85rem;display:flex;position:sticky;top:0;overflow-y:auto}.app-side .brand{padding:.3rem .4rem}.side-h{font:650 .74rem/1 var(--f-text);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:.4rem .6rem .35rem}.side-nav{gap:.15rem;display:grid}.side-nav a,.side-nav button{width:100%;min-height:2.45rem;font:500 .95rem/1.2 var(--f-text);color:var(--ink-2);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:.6rem;padding:0 .65rem;text-decoration:none;display:flex}.side-nav a:hover,.side-nav button:hover{background:var(--paper-2);color:var(--ink)}.side-nav a[aria-current=page]{background:var(--card);color:var(--ink);box-shadow:var(--sh-1)}.side-nav .icon{color:var(--ink-3);flex:none}.side-book{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.side-book .sw{background:var(--gb-bg);border:1px solid var(--gb-line);width:.9rem;height:.9rem;box-shadow:inset 0 -4px 0 var(--gb-accent);border-radius:4px}.side-book .t{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.badge{background:var(--red);color:#fff;min-width:1.4rem;font:650 .72rem/1.2 var(--f-text);text-align:center;border-radius:999px;padding:.15rem .4rem}.side-foot{border-top:1px solid var(--line);gap:.15rem;margin-top:auto;padding-top:.75rem;display:grid}.side-user{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;padding:.4rem .65rem .6rem;font-size:.85rem;overflow:hidden}.app-main{min-width:0;padding:clamp(1rem,2.5vw,2rem) clamp(1rem,3vw,2.75rem) 4rem}.app-top{display:none}@media (width<=900px){.app{grid-template-columns:minmax(0,1fr)}.app-side{z-index:60;width:min(18rem,86vw);box-shadow:var(--sh-3);transition:transform .25s;position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.side-open .app-side{transform:none}.app-top{background:var(--paper);border-bottom:1px solid var(--line);z-index:40;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.app-top button{border:1px solid var(--line-2);background:var(--card);cursor:pointer;border-radius:9px;place-items:center;width:2.6rem;height:2.6rem;display:grid}}.side-scrim{display:none}@media (width<=900px){.side-open .side-scrim{z-index:55;background:#1c1a1659;display:block;position:fixed;inset:0}}.app-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.app-head h1{margin:0 0 .2rem;font-size:clamp(1.75rem,1.4rem + 1.3vw,2.4rem)}.app-head p{color:var(--ink-2);margin:0}.app-head .actions{flex-wrap:wrap;gap:.5rem;display:flex}.crumb{color:var(--ink-3);align-items:center;gap:.35rem;margin-bottom:.6rem;font-size:.88rem;text-decoration:none;display:inline-flex}.crumb:hover{color:var(--ink)}.hero-panel{border-radius:var(--r-lg);color:#f4efe6;background:#1d3f73;padding:clamp(1.4rem,3vw,2.2rem) clamp(1.25rem,3vw,2.2rem) 4.25rem;position:relative;overflow:hidden}.hero-panel:before{content:"";background:var(--airmail);height:7px;position:absolute;inset:0 0 auto}.hero-panel h1{color:#fffaf0;margin-bottom:.25rem;font-size:clamp(1.8rem,1.4rem + 1.4vw,2.5rem)}.hero-panel p{color:#f4efe6d1;margin:0}.hero-panel .postmark{color:#fff3;width:6.5rem;height:6.5rem;position:absolute;top:1.25rem;right:2rem;transform:rotate(10deg)}.stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin:-3rem clamp(.75rem,2vw,1.5rem) 0;display:grid;position:relative}.stat{border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:var(--sh-2);padding:1rem 1.15rem}.stat b{font:480 2rem/1 var(--f-display);margin-bottom:.3rem;display:block}.stat span{color:var(--ink-2);font-size:.9rem}@media (width<=640px){.stat-row{gap:.5rem;margin:-2.75rem .5rem 0}.stat{padding:.75rem .8rem}.stat b{font-size:1.55rem}.stat span{font-size:.8rem;line-height:1.25;display:block}}.quick{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1.75rem 0;display:grid}.quick a{border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:var(--sh-1);justify-items:start;gap:.55rem;padding:1rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:grid}.quick a:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}.quick .qi{background:var(--paper-2);width:2.3rem;height:2.3rem;color:var(--ink);border-radius:10px;place-items:center;display:grid}.quick b{font-size:.97rem;font-weight:650}.quick span{color:var(--ink-3);font-size:.86rem}@media (width<=1100px){.quick{grid-template-columns:repeat(2,minmax(0,1fr))}}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1)}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.panel-head h2{margin:0;font-size:1.25rem}.panel-body{padding:1.25rem}.book-rows{display:grid}.book-row{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.25rem;display:grid}.book-row:first-child{border-top:0}.book-row .sw{background:var(--gb-bg);border:1px solid var(--gb-line);width:2.6rem;height:2.6rem;box-shadow:inset 0 -10px 0 var(--gb-accent);border-radius:10px}.book-row h3{margin:0 0 .15rem;font-size:1.12rem}.book-row h3 a{text-decoration:none}.book-row p{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.88rem;overflow:hidden}.book-row .acts{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.pill{font:650 .75rem/1.3 var(--f-text);background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .55rem;display:inline-flex}.pill.wait{background:var(--gold-soft);color:#7a5717;border-color:#ead6a1}.pill.ok{background:var(--green-soft);color:var(--green);border-color:#c2dccb}.pill.off{color:var(--ink-3);background:#eceae5}.pill.bad{background:var(--red-soft);color:var(--red);border-color:#efc4b8}@media (width<=700px){.book-row{grid-template-columns:auto minmax(0,1fr)}.book-row .acts{grid-column:1/-1;justify-content:flex-start}}.newbook summary{list-style:none}.newbook summary::-webkit-details-marker{display:none}.newbook-form{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.25rem;display:grid}.newbook-form .wide{grid-column:1/-1}@media (width<=700px){.newbook-form{grid-template-columns:minmax(0,1fr)}}.empty{text-align:center;color:var(--ink-2);justify-items:center;gap:.6rem;padding:2.75rem 1rem;display:grid}.empty svg{width:5.5rem;height:auto;color:var(--ink-3)}.empty p{margin:0}.mod{grid-template-columns:13rem minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.mod-filter{gap:.2rem;padding:.6rem;display:grid}.mod-filter button{min-height:2.4rem;font:500 .95rem/1 var(--f-text);color:var(--ink-2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;padding:0 .7rem;display:flex}.mod-filter button:hover{background:var(--paper-2)}.mod-filter button[aria-pressed=true]{background:var(--ink);color:#fbf7ef}.mod-filter button[aria-pressed=true] .n{color:#fbf7efbf}.mod-filter .n{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:.85rem}.msg-list{gap:.75rem;display:grid}.msg{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1);padding:1.05rem 1.2rem}.msg-head{flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin-bottom:.45rem;display:flex}.msg-head b{font-weight:650}.msg-head .where,.msg-head time{color:var(--ink-3);font-size:.86rem}.msg-head time{margin-left:auto}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 .75rem}.msg-site{overflow-wrap:anywhere;font-size:.86rem}.msg-reply{border-left:3px solid var(--blue);background:var(--blue-soft);white-space:pre-wrap;border-radius:0 9px 9px 0;margin:.6rem 0;padding:.6rem .8rem;font-size:.93rem}.msg-acts{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.4rem;padding-top:.7rem;display:flex}.msg-acts .spacer{flex:1}.reply-box{gap:.5rem;margin-top:.7rem;display:grid}.reply-box textarea{border:1px solid var(--line-2);background:var(--card);resize:vertical;border-radius:9px;width:100%;min-height:5rem;padding:.6rem .75rem}.reply-box div{gap:.4rem;display:flex}.toast{z-index:90;background:var(--ink);color:#fbf7ef;box-shadow:var(--sh-3);opacity:0;pointer-events:none;border-radius:10px;padding:.7rem 1.1rem;font-size:.93rem;transition:opacity .2s,translate .2s;position:fixed;bottom:1.5rem;left:50%;translate:-50%}.toast.show{opacity:1;translate:-50% -6px}@media (width<=860px){.mod{grid-template-columns:minmax(0,1fr)}.mod-filter{flex-wrap:wrap;gap:.3rem;display:flex}.mod-filter button{flex:none;gap:.45rem}}.set-sec{border-top:1px solid var(--line);padding:1.35rem 1.35rem 1.5rem}.set-sec:first-child{border-top:0}.set-sec h2{margin-bottom:.25rem;font-size:1.2rem}.set-sec>p{color:var(--ink-3);margin:0 0 1rem;font-size:.93rem}.set-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.set-grid .wide{grid-column:1/-1}.theme-pick{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.theme-pick label{cursor:pointer;gap:.5rem;display:grid;position:relative}.theme-pick input{opacity:0;position:absolute}.theme-pick .tp{background:var(--gb-bg);border:2px solid var(--gb-line);border-radius:12px;gap:6px;padding:12px;display:grid}.theme-pick .tp i{background:var(--gb-ink);opacity:.75;border-radius:4px;width:60%;height:8px;display:block}.theme-pick .tp i:nth-child(2){opacity:.25;width:85%}.theme-pick .tp em{background:var(--gb-card);border:1px solid var(--gb-line);border-radius:7px;height:22px;display:block}.theme-pick .tp b{background:var(--gb-accent);border-radius:5px;width:46%;height:14px;display:block}.theme-pick span{text-align:center;font-size:.9rem;font-weight:600}.theme-pick input:checked+.tp{border-color:var(--ink);box-shadow:0 0 0 3px var(--blue-soft)}.theme-pick input:focus-visible+.tp{outline:2px solid var(--blue);outline-offset:2px}.radio-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.radio-cards label{border:1px solid var(--line-2);background:var(--card);cursor:pointer;border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:.6rem;padding:.85rem 1rem;display:grid}.radio-cards label:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 3px var(--blue-soft)}.radio-cards input{accent-color:var(--ink);margin-top:.2rem}.radio-cards b{font-weight:650;display:block}.radio-cards small{color:var(--ink-3);font-size:.87rem}.switch-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 0;display:flex}.switch-row:first-of-type{border-top:0;padding-top:.2rem}.switch-row b{font-weight:650;display:block}.switch-row small{color:var(--ink-3);font-size:.88rem;display:block}.switch{flex:none;width:2.75rem;height:1.6rem;position:relative}.switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch span{background:var(--line-2);pointer-events:none;border-radius:999px;transition:background .15s;position:absolute;inset:0}.switch span:after{content:"";width:calc(1.6rem - 6px);height:calc(1.6rem - 6px);box-shadow:var(--sh-1);background:#fff;border-radius:50%;transition:transform .15s;position:absolute;top:3px;left:3px}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translate(1.15rem)}.switch input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}.save-bar{border-top:1px solid var(--line);background:var(--paper);border-radius:0 0 var(--r-lg) var(--r-lg);justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.35rem;display:flex}.danger{border-color:#efc4b8;margin-top:1.5rem}.danger .panel-head h2{color:var(--red)}@media (width<=760px){.set-grid,.radio-cards{grid-template-columns:minmax(0,1fr)}.theme-pick{grid-template-columns:repeat(2,minmax(0,1fr))}}.share-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.share-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.4rem;padding:.9rem 1.25rem;display:flex}.share-pane{padding:1.25rem}.share-pane[hidden]{display:none}.share-pane h2{margin-bottom:.25rem;font-size:1.2rem}.share-pane>p{color:var(--ink-3);margin:0 0 1rem;font-size:.93rem}.code-box{color:#ece6d9;white-space:pre-wrap;overflow-wrap:anywhere;background:#1f1d19;border-radius:10px;margin-bottom:.75rem;padding:.9rem 1rem;font:500 .82rem/1.6 ui-monospace,Cascadia Code,Consolas,monospace;position:relative}.copy-row{align-items:center;gap:.5rem;display:flex}.copy-row input{border:1px solid var(--line-2);background:var(--paper);border-radius:9px;flex:1;min-width:0;min-height:2.6rem;padding:0 .8rem;font-size:.93rem}.qr-box{border:1px solid var(--line);background:#fff;border-radius:12px;justify-items:center;gap:.75rem;padding:1rem;display:grid}.qr-box svg{width:13rem;height:13rem}.qr-box .qr-cap{font:520 1.15rem/1.2 var(--f-display)}.preview-pane{position:static}.preview-pane .mini{box-shadow:var(--sh-2)}.badge-prev{background:var(--paper);border:1px dashed var(--line-2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:1rem;display:flex}.welcome{border-radius:var(--r);background:var(--green-soft);border:1px solid #c2dccb;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1rem 1.2rem;display:flex}.welcome .icon{color:var(--green);flex:none}.welcome p{margin:0}@media (width<=1000px){.share-grid{grid-template-columns:minmax(0,1fr)}}.acct{gap:1rem;max-width:46rem;display:grid}.acct .panel-body form{gap:.9rem;max-width:26rem;display:grid}.acct .panel-body p{color:var(--ink-2);margin:0 0 .9rem}dialog.confirm{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);width:min(28rem,100vw - 2rem);box-shadow:var(--sh-3);color:var(--ink);padding:0}dialog.confirm::backdrop{background:#1c1a1666}dialog.confirm form{gap:.9rem;padding:1.4rem;display:grid}dialog.confirm h2{margin:0;font-size:1.35rem}dialog.confirm p{color:var(--ink-2);margin:0}dialog.confirm .row{justify-content:flex-end;gap:.5rem;display:flex}.newbook summary h2{align-items:center;gap:.5rem;display:flex}.acct{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;max-width:none}.acct-col{gap:1rem;display:grid}.share-col{gap:1.25rem;display:grid}.share-sec .panel-body>p{color:var(--ink-3);margin:0 0 1rem;font-size:.93rem}.share-row2{margin-top:1.25rem}@media (width<=900px){.acct{grid-template-columns:minmax(0,1fr)}}.auth-visual{background:#2e4fbd}.auth-visual .stamp{filter:drop-shadow(0 12px 20px #00000040);width:clamp(7rem,10vw,10rem);height:auto;position:absolute}.auth-visual .st1{top:-2.5rem;left:6%;transform:rotate(-12deg)}.auth-visual .st2{bottom:-2rem;right:7%;transform:rotate(10deg)}.auth-visual .st3{width:clamp(6rem,8vw,8rem);top:14%;right:-2.5rem;transform:rotate(16deg)}
