:root{--surface:#fffdf7;--ink:#302b25;--muted:#766b58;--line:#d7cbb6;--accent:#91672f;--page:#f9f7f1;--hall-image:url('/assets/guild-hall-morning.webp')}html[data-mode=day]{--surface:#fff;--ink:#1f3547;--muted:#47657a;--line:#bed2df;--accent:#245c7b;--page:#edf6fb}html[data-mode=night]{--surface:#14213b;--ink:#eef1fb;--muted:#b3c0d9;--line:#3c4b68;--accent:#baa274;--page:#0b1429;color-scheme:dark}body{background:var(--page);color:var(--ink)}header,.player,.playlist-panel{background:var(--surface);border-color:var(--line)}header{gap:2vw}header nav{gap:1.65vw}.appearance-label{margin-left:auto}.appearance-label select{max-width:130px;background:transparent;color:var(--ink);border:1px solid var(--line);padding:8px;font-size:.875rem}.home{background-image:var(--hall-image);transition:background-image 1.2s ease}.home .hall-shade{background:linear-gradient(90deg,#121c24df,#17252aa6 40%,#131f2340 75%),linear-gradient(0deg,#111923b0,transparent 65%)}#tower-clock{position:fixed;bottom:83px;left:14px;z-index:12;background:var(--surface);border:1px solid var(--line);color:var(--muted);padding:3px 10px;font:12px/1.5 Arial,sans-serif}.page-heading p,.tabs a,.floor-label,.fineprint,.source,.author{color:var(--muted)}.tabs,.edition-card,.book-card,.dna-panel,.search-box,.book-select select,.file-button,table td,table th{border-color:var(--line)}html[data-mode=night] .book-card,html[data-mode=night] .edition-card,html[data-mode=night] .dna-panel,html[data-mode=night] .search-box,html[data-mode=night] .match-list article,html[data-mode=night] .reading-callout,html[data-mode=night] .file-button,html[data-mode=night] table th,html[data-mode=night] table td,html[data-mode=night] .answer-choice{background:var(--surface);color:var(--ink)}html[data-mode=night] input,html[data-mode=night] select,html[data-mode=night] textarea{background:#0b162b;color:var(--ink);border-color:var(--line)}html[data-mode=night] .resident-art,html[data-mode=night] .judgment>img{mix-blend-mode:normal;background:#fffdf7;border-radius:90px 90px 8px 8px}html[data-mode=night] .resident-sheet{color:#302b25}html[data-mode=night] .resident-sheet .fineprint,html[data-mode=night] .resident-sheet a{color:#5f4930}html[data-mode=night] .bubble{background:#eaf0fb;color:#15233c}html[data-mode=night] .bubble:after{background:#eaf0fb}html[data-mode=night] .tabs .active,html[data-mode=night] .text-link{color:#e8c786}html[data-mode=day] .button{background:#245c7b;border-color:#245c7b}.eyebrow{font-size:.8125rem}.bubble .eyebrow{font-size:.75rem}.signup-page{background:linear-gradient(90deg,#071529dc,#15335787),url('/assets/tower-night.jpg') center/cover fixed;min-height:calc(100svh - 184px);padding:70px max(6%,24px) 100px;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:start}.signup-intro{position:sticky;top:70px;color:#f1f4ff;max-width:480px;padding-top:50px}.signup-intro h1{font-size:clamp(3rem,6vw,6rem);line-height:1.03}.signup-intro>.eyebrow{color:#ddc697}.signup-intro p{font-size:1.125rem;max-width:380px}.signup-intro .script{display:block;font-size:2.7rem;color:#e5cb95;margin-top:35px}.signup-intro .signup-music-note{font-size:.9rem;margin-top:55px;color:#c6d3e7}html[data-mode=day] .signup-page{background:linear-gradient(90deg,#123754d9,#46779360),url('/assets/tower-day.jpg') center/cover fixed}.library-card-wrap{position:relative;max-width:545px;width:100%;margin:50px auto 0}.card-ribbon{height:125px;width:38px;position:absolute;left:calc(50% - 19px);top:-115px;background:#304a65;border:1px solid #65829b;border-radius:0 0 18px 18px;box-shadow:inset 0 0 0 7px #20364b;z-index:2}.library-card{position:relative;padding:38px 36px 30px;border:1px solid #b49a6b;border-radius:20px;background:#f9f4e8;color:#302b25;box-shadow:0 20px 70px #0006,inset 0 0 0 8px #e0d1b4;transform:rotate(.5deg)}.library-card::before{content:'';width:70px;height:8px;border:1px solid #b9a57f;border-radius:8px;background:#1b2739;display:block;margin:-18px auto 25px}.card-top{display:flex;align-items:center;gap:15px;border-bottom:1px solid #c9b891;padding-bottom:20px;margin-bottom:23px}.card-top img{width:32px;height:56px;object-fit:contain;filter:brightness(.3)}.card-top>span{font-size:1.65rem;letter-spacing:.15em}.card-top small{font:10px/1.5 Arial,sans-serif;letter-spacing:.12em;display:block}.card-top .card-number{margin-left:auto;color:#a28751}.card-avatar{width:82px;height:82px;border:1px solid #bca778;border-radius:50%;display:grid;place-items:center;font:38px Georgia,serif;margin:20px auto;background:#e8dec9;color:#765d36}.auth-tabs{display:flex;justify-content:center;gap:18px;margin-bottom:25px}.auth-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:#675b46;padding:7px 0;font-size:.9rem}.auth-tabs .active{border-color:#936b34;color:#332b20}.card-field{display:grid;grid-template-columns:27px 1fr;gap:9px;align-items:start;margin:15px 0}.card-field>label{min-width:0}.library-card label,.reader-card label,.feedback-form>label{display:block;font-size:1rem}.library-card input:not([type=checkbox]),.library-card textarea,.reader-card input:not([type=checkbox]),.reader-card textarea,.feedback-form input:not([type=radio]):not([type=checkbox]),.feedback-form textarea,.feedback-form select{display:block;width:100%;border:1px solid var(--line);border-radius:5px;padding:11px 13px;margin-top:5px;font:16px/1.5 Arial,sans-serif;background:var(--surface);color:var(--ink);resize:vertical}.library-card input:not([type=checkbox]),.library-card textarea{border-color:#bdab8b;background:#fffcf4;color:#302b25}.field-help{position:relative;margin-top:29px}.field-help>summary{width:25px;height:25px;border:1px solid #a89573;border-radius:50%;display:grid;place-items:center;cursor:pointer;list-style:none;color:#5f6f66;font:18px Arial}.field-help>summary::-webkit-details-marker{display:none}.field-help>div{position:absolute;top:32px;left:-10px;z-index:8;background:#1c2a3e;color:#fff;border:1px solid #7a8ba4;box-shadow:0 10px 20px #0004;width:min(325px,72vw);padding:14px 16px;border-radius:8px;font:14px/1.6 Arial,sans-serif}.field-help p{margin:5px 0}.field-help b{font-size:11px;color:#d8c595;display:inline-block;min-width:25px}.check-row{display:flex!important;align-items:flex-start;gap:10px;font-size:.9rem!important;margin:20px 0;line-height:1.6}.check-row input{flex:0 0 auto;margin-top:6px;width:17px;height:17px}.optional-note{font-size:.9rem;color:#796a53;border-top:1px solid #d4c5a7;padding-top:22px;margin-top:22px}.seal-button{display:flex;margin:25px auto 15px;border-radius:4px}.service-notice{padding:15px;border:1px solid #b7a482;background:#f1e4c9;color:#493b25;border-radius:4px;font-size:.95rem}.service-notice a{text-decoration:underline}.form-status{min-height:1.5em;margin:14px 0 0;font-size:1rem;color:var(--accent);overflow-wrap:anywhere}.library-card .form-status{color:#71501e}.community-layout{display:grid;grid-template-columns:minmax(230px,330px) minmax(0,1fr);gap:60px;align-items:start}.community-resident{display:flex;align-items:center;flex-direction:column;gap:20px}.community-resident .bubble{width:100%}.community-resident .resident-art{max-height:580px;width:auto;object-fit:contain;mix-blend-mode:multiply}.community-resident .script{margin-top:-15px}.reader-card,.profile-gate,.feedback-form,.feedback-receipt{background:var(--surface);border:1px solid var(--line);padding:32px;border-radius:8px}.reader-card-heading{display:flex;align-items:center;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.reader-card-heading h2{margin:5px 0}.reader-card-heading p{margin:0}.profile-avatar,.profile-initial{width:80px;height:80px;border-radius:50%;object-fit:cover;flex-shrink:0}.profile-initial{display:grid;place-items:center;background:#e1d4b7;color:#443722;font-size:2rem}.factor-panel{margin:25px 0;background:linear-gradient(130deg,#122845,#28325a);padding:25px;color:#f0ecdf;border:1px solid #b69e73;position:relative}.factor-panel>.eyebrow{color:#d1b97f}.factor-panel h2{font-size:2rem;font-style:italic;color:#f0dca8;overflow-wrap:anywhere}.factor-panel .tags{display:flex;flex-wrap:wrap;gap:8px}.factor-panel .tags span{border:1px solid #768096;background:#ffffff0d;color:#e0e8f3}.factor-panel details{font-size:.9rem;margin-top:20px}.factor-panel a{text-decoration:underline}.dna-mini{margin:20px 0}.dna-mini>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0}.reader-card details{margin:20px 0}.reader-card summary,details>summary{cursor:pointer}.reader-card #signout{margin-left:20px}.feedback-form>label,.feedback-form fieldset{margin-bottom:28px}.feedback-form fieldset{border:0;padding:0}.question-number{display:block;font-style:italic;color:var(--accent);font-size:1.6rem}.rating-row{display:flex;gap:10px;margin:15px 0}.rating-row label{position:relative;flex:1;text-align:center}.rating-row input{position:absolute;opacity:0}.rating-row span{display:grid;place-items:center;min-height:48px;border:1px solid var(--line);border-radius:5px}.rating-row input:checked+span{background:var(--accent);color:var(--page)}.rating-row input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.receipt-answers section{border-top:1px solid var(--line);padding:20px 0 0}.receipt-answers h3,.admin-responses h3{font-size:1.15rem}.receipt-answers p,.admin-responses p{white-space:pre-wrap;overflow-wrap:anywhere}#feedback-history{margin:25px 0}#feedback-history button{display:block}.admin-responses details{border:1px solid var(--line);background:var(--surface);padding:20px;margin:15px 0}.public-reader{max-width:760px;margin:0 auto}.social-links{display:flex;flex-wrap:wrap;gap:20px}#print-response{display:none}html[data-mode=night] .library-card{background:#f9f4e8;color:#302b25;color-scheme:light}html[data-mode=night] .library-card .fineprint{color:#766b58}.librarian-greeting .resident-art[src*="echidna"]{max-height:400px;width:auto}.membership-success{padding-top:100px}.profile-gate{margin-top:30px}
@media(max-width:1150px){header nav{gap:1.25vw;font-size:.85rem}header{padding:0 3%;gap:18px}.appearance-label select{font-size:.8rem;max-width:115px}.community-layout{gap:30px}.signup-page{gap:35px;padding-left:4%;padding-right:4%}}
@media(max-width:850px){header nav{font-size:.95rem}.appearance-label{margin-left:auto;margin-right:8px}.signup-page{grid-template-columns:1fr}.signup-intro{position:static;padding-top:0;max-width:600px}.signup-intro h1{font-size:3.4rem}.signup-intro .signup-music-note{margin-top:20px}.library-card-wrap{margin-top:100px}.community-layout{grid-template-columns:1fr}.community-resident{max-width:400px;width:100%;margin:auto}.community-resident .resident-art{max-height:360px}.page{padding-left:24px;padding-right:24px}.profile-gate{margin-top:0}#tower-clock{display:none}}
@media(max-width:480px){.library-card{padding:32px 20px;transform:none}.signup-page{padding:30px 16px 50px}.card-field{grid-template-columns:25px 1fr;gap:7px}.reader-card,.feedback-form,.feedback-receipt{padding:22px 18px}.community-layout{gap:25px}.card-top>span{font-size:1.35rem}.card-top small{font-size:9px}.auth-tabs{gap:15px}.auth-tabs button{font-size:.85rem}.factor-panel{padding:20px}.factor-panel h2{font-size:1.7rem}.reader-card-heading{gap:12px}.appearance-label select{max-width:110px}.rating-row{gap:6px}}
@media print{body{padding:0!important;background:white!important;color:black!important}body>*{display:none!important}#print-response{display:block!important;font:12pt/1.5 Georgia,serif;color:black;max-width:none}#print-response h1{font-size:23pt;letter-spacing:0}#print-response h2{font-size:18pt}#print-response h3{font-size:13pt;margin:20px 0 8px}#print-response section{break-inside:avoid}#print-response p{white-space:pre-wrap;overflow-wrap:anywhere}@page{size:A4;margin:18mm}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.home{transition:none}}
@media(max-width:1000px){header{height:80px;padding:0 18px;justify-content:space-between}.brand img,header .brand{height:64px;width:64px}.menu-button{display:block}header nav{display:none;position:absolute;left:0;right:0;top:80px;height:auto;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 10px 30px #0002}header.nav-open nav{display:flex}header nav a{padding:15px 25px;font-size:1rem;border-bottom:1px solid var(--line)}.appearance-label{order:2}.menu-button{order:3}}
html[data-mode=night] .guide-panel{background:var(--surface)}html[data-mode=night] .book-select select{background:var(--surface);color:var(--ink)}
