.archive-log-feed{z-index:200;pointer-events:none;flex-direction:column;gap:6px;max-width:300px;display:flex;position:fixed;top:16px;right:16px}.archive-log-entry{-webkit-backdrop-filter:blur(12px);background:#08080ce6;border:1px solid #c9a84c1a;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 14px;animation:.3s logSlideIn,.5s 4.5s forwards logFadeOut;display:flex}@keyframes logSlideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes logFadeOut{0%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.archive-log-dot{background:var(--gold);opacity:.6;border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:5px}.archive-log-text{color:var(--text-secondary);font-size:11px;font-style:italic;line-height:1.5;font-family:var(--font-display);letter-spacing:.02em}@media (width<=768px){.archive-log-feed{top:calc(var(--mobile-header-height) + env(safe-area-inset-top,0px) + 8px);max-width:250px;right:12px}.archive-log-text{font-size:10px}}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);z-index:100;flex-direction:column;transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid var(--border);padding:28px 24px 20px}.sidebar-brand h1{font-family:var(--font-display);letter-spacing:.04em;color:var(--text-primary);font-size:17px;font-weight:300;line-height:1.35}.sidebar-brand .admin-tag{letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dim);background:var(--gold-glow);border-radius:4px;margin-top:10px;padding:3px 10px;font-size:9px;display:inline-block}.sidebar-nav{flex:1;padding:14px 10px;overflow-y:auto}.nav-label{letter-spacing:.25em;text-transform:uppercase;color:var(--text-muted);padding:14px 14px 6px;font-size:9px}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin-bottom:1px;padding:9px 14px;font-size:13px;font-weight:300;transition:all .12s;display:flex}.nav-item:hover{background:var(--bg-card-hover);color:var(--text-primary)}.nav-item.active{background:var(--gold-glow);color:var(--gold)}.nav-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:4px;height:4px}.nav-item.active .nav-dot{background:var(--gold)}.nav-sub{padding-left:18px}.sidebar-footer{border-top:1px solid var(--border);padding:14px 16px}.sidebar-user{justify-content:space-between;align-items:center;gap:10px;display:flex}.sidebar-user-name{color:var(--text-primary);font-size:13px;font-weight:400}.sidebar-user-role{letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-top:1px;font-size:9px}.mobile-header{height:var(--mobile-header-height);background:var(--bg-surface);border-bottom:1px solid var(--border);z-index:90;justify-content:space-between;align-items:center;padding:0 16px;display:none;position:fixed;top:0;left:0;right:0}.mobile-header h1{font-family:var(--font-display);color:var(--text-primary);font-size:15px;font-weight:400}.mobile-menu-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:4px;display:flex}.sidebar-overlay{z-index:99;background:#0009;display:none;position:fixed;inset:0}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh}.page{max-width:800px;margin:0 auto;padding:48px 36px 80px}.page-header{margin-bottom:36px}.page-header h2{font-family:var(--font-display);letter-spacing:.02em;font-size:32px;font-weight:400;line-height:1.2}.page-header .page-subtitle{color:var(--text-secondary);margin-top:10px;font-size:14px}.admin-notice{letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dim);align-items:center;gap:6px;margin-bottom:10px;font-size:9px;display:flex}@media (width<=768px){.sidebar{width:280px;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}.mobile-header{padding-top:env(safe-area-inset-top,0px);height:calc(var(--mobile-header-height) + env(safe-area-inset-top,0px));display:flex}.main-content{padding-top:calc(var(--mobile-header-height) + env(safe-area-inset-top,0px));margin-left:0}.page{padding:20px 16px 60px}.page-header{margin-bottom:24px}.page-header h2{font-size:24px}.page-header .page-subtitle{font-size:13px}.btn{padding:12px 22px;font-size:12px}.btn-sm{padding:10px 16px}.btn-icon{width:36px;height:36px}}@media (width<=380px){.page{padding:16px 12px 50px}.page-header h2{font-size:22px}.mobile-header h1{font-size:13px}}.login-wrapper{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.login-wrapper:before{content:"";pointer-events:none;background:radial-gradient(circle,#c9a84c0a 0%,#0000 60%);width:500px;height:500px;position:absolute;top:-20%;left:-10%}.login-wrapper:after{content:"";pointer-events:none;background:radial-gradient(circle,#503c8c08 0%,#0000 60%);width:600px;height:600px;position:absolute;bottom:-30%;right:-15%}.login-container{z-index:1;width:100%;max-width:390px;position:relative}.login-brand{text-align:center;margin-bottom:44px;animation:.6s fadeUp}.login-brand h1{font-family:var(--font-display);letter-spacing:.05em;color:var(--text-primary);font-size:28px;font-weight:300;line-height:1.3}.login-divider{background:var(--gold-dim);width:36px;height:1px;margin:18px auto}.login-brand .tagline{letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);opacity:0;padding:36px 30px;animation:.6s .1s forwards fadeUp}.login-card h2{font-family:var(--font-display);color:var(--text-primary);margin-bottom:28px;font-size:20px;font-weight:400}.login-error{background:var(--danger-bg);border-radius:var(--radius-sm);color:var(--danger);border:1px solid #c94c4c33;margin-bottom:20px;padding:10px 14px;font-size:13px;animation:.2s fadeUp}.login-footer{text-align:center;color:var(--text-muted);opacity:0;margin-top:28px;font-size:11px;animation:.6s .2s forwards fadeUp}.vault-overlay{z-index:9999;background:#08080c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.vault-canvas{width:100%;height:100%;position:absolute;inset:0}.vault-text{z-index:2;font-family:var(--font-display);text-align:center;pointer-events:none;position:relative}.vault-text-crack{letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dim);font-size:13px;animation:1.5s infinite vaultPulse;position:absolute;bottom:15%;left:50%;transform:translate(-50%)}@keyframes vaultPulse{0%,to{opacity:.3}50%{opacity:.8}}.vault-reveal{justify-content:center;align-items:center;animation:1.2s forwards vaultFlash;display:flex;position:absolute;inset:0}@keyframes vaultFlash{0%{background:#c9a84c4d}15%{background:#ffffff26}40%{background:#ffffff05}to{opacity:0;background:0 0}}.vault-text-welcome{font-family:var(--font-display);letter-spacing:.15em;color:var(--gold);font-size:32px;font-weight:300;animation:1.2s forwards vaultWelcome}@keyframes vaultWelcome{0%{opacity:0;transform:scale(1.1)}30%{opacity:1;transform:scale(1)}70%{opacity:1}to{opacity:0}}.vault-terminal{max-width:560px;font-family:JetBrains Mono,SF Mono,Fira Code,Courier New,monospace;animation:.4s terminalFadeIn;position:absolute;top:40px;left:40px}@keyframes terminalFadeIn{0%{opacity:0}to{opacity:1}}.vault-terminal-body{padding:0}.vault-terminal-blank{height:10px}.vault-terminal-line{align-items:baseline;gap:10px;margin-bottom:3px;animation:.12s terminalLineIn;display:flex}@keyframes terminalLineIn{0%{opacity:0}to{opacity:1}}.vault-terminal-text{letter-spacing:.06em;color:#b4afa58c;font-size:11px;line-height:1.6}.vault-terminal-status{letter-spacing:.15em;flex-shrink:0;margin-left:6px;font-size:9px;animation:.25s statusFlash}@keyframes statusFlash{0%{opacity:0}to{opacity:1}}.status-ok{color:#b4afa566}.status-confirmed{color:#64c87899}.status-done{color:#b4afa559}.status-granted{color:#c9a84cb3}.status-ready{color:#64c878b3}.vault-terminal-cursor{color:#c9a84c80;margin-top:2px;font-size:11px;animation:.8s step-end infinite cursorBlink;display:inline-block}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}@media (width<=768px){.vault-terminal{max-width:calc(100% - 40px);top:24px;left:20px}.vault-terminal-text{font-size:9px}.vault-terminal-status{font-size:8px}}.login-tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:24px;display:flex}.login-tab{font-family:var(--font-display);color:var(--text-muted);cursor:pointer;letter-spacing:.03em;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:12px 0;font-size:15px;font-weight:400;transition:all .2s}.login-tab:hover{color:var(--text-secondary)}.login-tab.active{color:var(--gold);border-bottom-color:var(--gold)}.content-block{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:32px;animation:8s infinite glowPulse;position:relative}.content-block h3{font-family:var(--font-display);color:var(--text-primary);margin-bottom:14px;font-size:22px;font-weight:500}.content-block .body-text{color:var(--text-secondary);white-space:pre-wrap;font-size:14px;line-height:1.85}.content-block .edit-bar{gap:6px;display:flex;position:absolute;top:14px;right:14px}.hero-section{text-align:center;padding:52px 16px 36px;position:relative}.hero-section:before{content:"";background:radial-gradient(circle, var(--gold-glow) 0%, transparent 65%);pointer-events:none;width:360px;height:360px;position:absolute;top:-40px;left:50%;transform:translate(-50%)}.hero-section h1{font-family:var(--font-display);letter-spacing:.03em;font-size:40px;font-weight:300;line-height:1.2;position:relative}.hero-section .hero-subtitle{color:var(--text-secondary);margin-top:14px;font-size:14px;font-weight:300}.hero-section .hero-tagline{font-family:var(--font-display);color:var(--text-muted);margin-top:18px;font-size:16px;font-style:italic}@media (width<=768px){.hero-section h1{font-size:28px}}.book-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;transition:border-color .3s;position:relative;overflow:hidden}.book-card:hover{border-color:var(--border-hover)}.book-card-top{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:26px 32px 18px;display:flex}.book-num-label{font-family:var(--font-mono);color:var(--gold-dim);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.book-card-top h3{font-family:var(--font-display);color:var(--text-primary);margin-top:3px;font-size:24px;font-weight:500}.book-card-body{padding:24px 32px 28px}.book-meta-row{flex-wrap:wrap;gap:24px;margin-bottom:18px;display:flex}.book-meta-item{color:var(--text-muted);font-size:12px}.book-meta-item span{color:var(--text-secondary)}.book-description{color:var(--text-secondary);white-space:pre-wrap;font-size:14px;line-height:1.85}.book-themes{color:var(--text-muted);border-top:1px solid var(--border);margin-top:20px;padding-top:16px;font-size:13px;font-style:italic;line-height:1.7}.book-themes strong{color:var(--text-secondary);font-style:normal;font-weight:400}.pdf-section{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 32px;display:flex}.pdf-info .pdf-label{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.pdf-info .pdf-filename{font-size:13px;font-family:var(--font-mono);color:var(--text-secondary);margin-top:2px}.pdf-actions{flex-wrap:wrap;gap:8px;display:flex}.users-table-wrap{overflow-x:auto}.users-table{border-collapse:collapse;width:100%}.users-table th{text-align:left;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:9px}.users-table td{color:var(--text-secondary);border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 16px;font-size:13px}.users-table tr:last-child td{border-bottom:none}.pw-cell{align-items:center;gap:8px;display:flex}.pw-masked{font-family:var(--font-mono);letter-spacing:.08em;font-size:13px}.user-action-btns{justify-content:flex-end;gap:5px;display:flex}@media (width<=768px){.content-block{margin-bottom:18px;padding:22px 18px}.content-block h3{font-size:19px}.content-block .body-text{font-size:14px;line-height:1.75}.hero-section{padding:36px 8px 24px}.hero-section h1{font-size:26px}.hero-section .hero-subtitle{font-size:13px}.hero-section .hero-tagline{font-size:14px}.book-card-top{flex-direction:column;gap:10px;padding:18px 18px 14px}.book-card-top h3{font-size:20px}.book-card-body{padding:18px}.book-description{font-size:14px;line-height:1.75}.book-themes{font-size:12px}.pdf-section{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 18px}.pdf-actions{gap:8px;width:100%;display:flex}.pdf-actions .btn{flex:1;justify-content:center}.users-table th:nth-child(2),.users-table td:nth-child(2){display:none}.users-table th{padding:10px;font-size:8px}.users-table td{padding:12px 10px;font-size:12px}.user-action-btns{gap:4px}.placeholder-img{height:140px;font-size:10px}.flourish{margin:20px 0}.author-section{text-align:center;flex-direction:column;align-items:center}.author-avatar{width:80px;height:80px}.author-info h4{font-size:18px}.author-info p{font-size:13px}.quote-text{font-size:15px}.drop-cap:first-letter{font-size:2.6em}.back-to-top{width:44px;height:44px;bottom:20px;right:16px}}@media (width<=380px){.hero-section h1{font-size:22px}.content-block{padding:18px 14px}.book-card-top,.book-card-body{padding:14px}.pdf-section{padding:12px 14px}.users-table th:nth-child(2),.users-table td:nth-child(2){display:table-cell}.pw-masked{text-overflow:ellipsis;max-width:60px;font-size:11px;overflow:hidden}}.book-cover-area{text-align:center}.book-cover-img-wrap{display:inline-block;position:relative}.book-cover-img{border-radius:var(--radius);border:1px solid var(--border);max-width:100%;max-height:400px;box-shadow:0 8px 40px #0000004d}.book-cover-admin{-webkit-backdrop-filter:blur(8px);opacity:0;background:#000000b3;border-radius:8px;gap:8px;padding:8px 12px;transition:opacity .3s;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.book-cover-img-wrap:hover .book-cover-admin{opacity:1}.author-avatar{border:1px solid var(--border);background:var(--bg-card);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative;overflow:hidden}.author-avatar-admin{cursor:pointer}.author-avatar-img{object-fit:cover;width:100%;height:100%}.author-avatar-placeholder{font-family:var(--font-display);color:var(--gold-dim);opacity:.5;font-size:28px}.author-avatar-overlay{color:var(--text-secondary);opacity:0;background:#00000080;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.author-avatar-admin:hover .author-avatar-overlay{opacity:1}.section-img-wrap{text-align:center;margin-bottom:0;position:relative}.section-img{border-radius:var(--radius);border:1px solid var(--border);object-fit:cover;width:100%;max-width:100%;max-height:350px;box-shadow:0 6px 30px #00000040}.page-image-block{margin:16px 0}.page-image-wrap{max-width:100%;display:inline-block;position:relative}.page-image{border-radius:var(--radius);border:1px solid var(--border);max-width:100%;max-height:360px;display:block}.page-image-admin{-webkit-backdrop-filter:blur(8px);opacity:0;background:#000000b3;border-radius:8px;gap:6px;padding:6px 10px;transition:opacity .3s;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.page-image-wrap:hover .page-image-admin{opacity:1}.page-image-placeholder{border:2px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:40px;font-size:13px;transition:border-color .2s,color .2s;display:flex}.page-image-placeholder:hover{border-color:var(--gold-dim);color:var(--gold)}.section-img-wrap{max-width:100%;margin-bottom:8px;display:inline-block;position:relative}.section-img{border-radius:var(--radius);border:1px solid var(--border);max-width:100%;max-height:360px;display:block}.section-img-admin{-webkit-backdrop-filter:blur(8px);opacity:0;background:#000000b3;border-radius:8px;gap:6px;padding:6px 10px;transition:opacity .3s;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.section-img-wrap:hover .section-img-admin{opacity:1}.book-waypoint-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius,12px);margin-top:12px;margin-bottom:20px;padding:16px 20px}.book-waypoint-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.book-waypoint-left{color:var(--gold);letter-spacing:.05em;align-items:center;gap:6px;font-size:12px;display:flex}.book-waypoint-page{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.book-waypoint-track{background:var(--bg-input,#ffffff0a);border-radius:3px;width:100%;height:6px;overflow:hidden}.book-waypoint-fill{background:linear-gradient(90deg, var(--gold-dim), var(--gold));border-radius:3px;height:100%;transition:width .4s}.book-waypoint-footer{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.book-waypoint-percent{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.05em;font-size:11px}@media (width<=768px){.book-waypoint-bar{padding:14px 16px}.book-waypoint-footer{flex-direction:column;align-items:flex-start;gap:8px}.book-waypoint-footer>div{gap:6px;width:100%;display:flex}.book-waypoint-footer .btn{flex:1;justify-content:center}}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:transparent;--input-disabled-border-color:transparent;--input-hover-border-color:black;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selecteditem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert();backdrop-filter:invert()}}.annotationLayer{pointer-events:none;transform-origin:0 0;z-index:3;position:absolute;top:0;left:0}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg)translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg)translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg)translateY(-100%)}.annotationLayer canvas{width:100%;height:100%;position:absolute}.annotationLayer section{text-align:initial;pointer-events:auto;box-sizing:border-box;transform-origin:0 0;margin:0;position:absolute}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{width:100%;height:100%;font-size:1em;position:absolute;top:0;left:0}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;vertical-align:top;width:100%;height:100%;margin:0}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{border:2px solid var(--input-disabled-border-color);cursor:not-allowed;background:0 0}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);background:0 0;border-radius:2px}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:#0000;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline);border-radius:2px}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{content:"";background-color:canvastext;display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{width:1px;height:80%;left:45%}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;width:50%;height:50%;top:20%;left:30%}.annotationLayer .textWidgetAnnotation input.comb{padding-left:2px;padding-right:0;font-family:monospace}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{width:100%;height:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none;position:absolute}.annotationLayer .popup{max-width:calc(180px * var(--total-scale-factor));box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto;background-color:#ff9;position:absolute}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{margin-left:calc(5px * var(--total-scale-factor));display:inline-block}.annotationLayer .popupContent{margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor));border-top:1px solid #333}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{width:100%;height:100%;position:absolute;top:0;left:0}.annotationLayer .annotationTextContent{opacity:0;color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg)translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg)translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg)translate(-100%)}.textLayer{text-align:initial;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;line-height:1;position:absolute;inset:0;overflow:hidden}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;margin:0;position:absolute}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:0 0}.textLayer .endOfContent{z-index:-1;cursor:default;-webkit-user-select:none;user-select:none;display:block;position:absolute;inset:100% 0 0}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{width:0;height:0;display:none;position:absolute;top:0;left:0}.pv-overlay{z-index:300;color:var(--text-secondary);font-family:var(--font-body);background:#0a0a0c;flex-direction:column;max-height:100dvh;display:flex;position:fixed;inset:0;overflow:hidden}.pv-topbar{z-index:5;background:#0009;border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.pv-topbar-left{align-items:center;gap:10px;display:flex;overflow:hidden}.pv-topbar-right{align-items:center;gap:8px;display:flex}.pv-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:300px;font-size:13px;font-weight:400;overflow:hidden}.pv-chapter-label{color:var(--gold);white-space:nowrap;background:#c9a84c14;border:1px solid #c9a84c26;border-radius:12px;padding:2px 10px;font-size:11px}.pv-content{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;flex:1;justify-content:center;align-items:flex-start;padding:10px 0;display:flex;position:relative;overflow:auto}.pv-content::-webkit-scrollbar{width:8px;height:8px}.pv-content::-webkit-scrollbar-track{background:0 0}.pv-content::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.pv-content::-webkit-scrollbar-thumb:hover{background:#fff3}.pv-page-wrapper{flex-shrink:0;justify-content:center;align-items:center;display:flex}.pv-page-wrapper canvas{border-radius:2px;box-shadow:0 4px 40px #00000080}.pv-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:13px;display:flex;position:absolute;inset:0}.pv-spinner{border:2px solid #ffffff0f;border-top-color:var(--gold);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite pvSpin}@keyframes pvSpin{to{transform:rotate(360deg)}}.pv-error{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:14px;display:flex;position:absolute;inset:0}.pv-toolbar{-webkit-backdrop-filter:blur(12px);z-index:5;background:#000000b3;border-top:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.pv-toolbar-group{align-items:center;gap:4px;display:flex}.pv-toolbar-center{position:absolute;left:50%;transform:translate(-50%)}.pv-divider{background:#ffffff14;width:1px;height:20px;margin:0 6px}.pv-btn{color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:8px;transition:background .15s,color .15s;display:flex}.pv-btn:hover{color:var(--text-primary);background:#ffffff14}.pv-btn:disabled{opacity:.25;cursor:default}.pv-btn:disabled:hover{color:var(--text-secondary);background:0 0}.pv-btn-gold{color:var(--gold)!important}.pv-page-info{font-size:13px;font-family:var(--font-mono);align-items:center;gap:4px;display:flex}.pv-page-input{width:42px;color:var(--text-primary);font-size:13px;font-family:var(--font-mono);text-align:center;-moz-appearance:textfield;background:#ffffff0f;border:1px solid #ffffff14;border-radius:4px;outline:none;padding:4px 2px}.pv-page-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pv-page-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pv-page-input:focus{border-color:var(--gold-dim)}.pv-page-total{color:var(--text-muted);font-size:12px}.pv-zoom-label{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);text-align:center;min-width:36px}.pv-side-panel{-webkit-backdrop-filter:blur(16px);z-index:10;scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;background:#0a0a0ef2;border-top:1px solid #ffffff0f;border-right:1px solid #ffffff0f;border-radius:0 12px 0 0;width:300px;max-height:calc(100% - 20px);padding:0;animation:.2s pvSlideIn;position:absolute;bottom:0;left:0;overflow-y:auto}@keyframes pvSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.pv-side-panel-title{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid #ffffff0a;padding:16px 20px 12px;font-size:10px}.pv-side-item{cursor:pointer;align-items:center;gap:12px;padding:10px 20px;font-size:13px;transition:background .15s;display:flex}.pv-side-item:hover{background:#ffffff0a}.pv-side-item.active{border-left:2px solid var(--gold);background:#c9a84c0f}.pv-side-num{font-family:var(--font-mono);color:var(--text-muted);min-width:32px;font-size:10px}.pv-side-name{color:var(--text-secondary)}.pv-side-item.active .pv-side-name{color:var(--gold)}.pv-favs-panel{border-left:1px solid #ffffff0f;border-right:none;border-radius:12px 0 0;left:auto;right:0}.pv-favs-tabs{border-bottom:1px solid #ffffff0f;display:flex}.pv-favs-tab{letter-spacing:.05em;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 8px;font-size:11px;transition:color .2s,border-color .2s;display:flex}.pv-favs-tab:hover{color:var(--text-secondary)}.pv-favs-tab.active{color:var(--gold);border-bottom-color:var(--gold)}.pv-favs-list{padding:8px 0}.pv-favs-empty{text-align:center;color:var(--text-muted);padding:30px 20px;font-size:12px;font-style:italic;line-height:1.6}.pv-fav-item{cursor:pointer;border-bottom:1px solid #ffffff08;padding:12px 16px;transition:background .15s}.pv-fav-item:hover{background:#ffffff08}.pv-fav-item.active{background:#c9a84c0f}.pv-fav-item-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.pv-fav-page{font-family:var(--font-mono);color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.pv-fav-remove{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;padding:4px;transition:opacity .2s,color .2s,background .2s}.pv-fav-item:hover .pv-fav-remove{opacity:1}.pv-fav-remove:hover{color:#c94c4c;background:#c94c4c1a}.pv-fav-quote{color:var(--text-secondary);border-left:2px solid #c9a84c4d;margin:4px 0;padding-left:10px;font-size:12px;font-style:italic;line-height:1.6}.pv-fav-note{color:var(--text-muted);margin-top:4px;padding-left:10px;font-size:11px;font-style:italic}.pv-fav-add{border-top:1px solid #ffffff0a;padding:12px 16px}.pv-fav-input{width:100%;color:var(--text-primary);font-size:12px;font-family:var(--font-body);resize:vertical;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;outline:none;margin-bottom:8px;padding:8px 10px;transition:border-color .2s}.pv-fav-input:focus{border-color:var(--gold-dim)}.pv-fav-input::placeholder{color:#fff3}textarea.pv-fav-input{min-height:60px;line-height:1.5}.pv-fav-add-btns{justify-content:flex-end;gap:6px;display:flex}.pv-fav-cancel,.pv-fav-save{color:var(--text-secondary);cursor:pointer;letter-spacing:.03em;background:0 0;border:1px solid #ffffff14;border-radius:6px;padding:6px 16px;font-size:11px;transition:all .15s}.pv-fav-cancel:hover{background:#ffffff0a}.pv-fav-save{color:var(--gold);background:#c9a84c1a;border-color:#c9a84c40}.pv-fav-save:hover{background:#c9a84c33}.pv-fav-add-btn{width:calc(100% - 32px);color:var(--text-muted);cursor:pointer;background:0 0;border:1px dashed #ffffff14;border-radius:6px;justify-content:center;align-items:center;gap:6px;margin:8px 16px;padding:10px;font-size:11px;transition:border-color .2s,color .2s;display:flex}.pv-fav-add-btn:hover{border-color:var(--gold-dim);color:var(--gold)}.pv-page-note-float{-webkit-backdrop-filter:blur(16px);z-index:20;background:#0a0a0ef2;border:1px solid #ffffff14;border-radius:12px;width:320px;padding:16px;animation:.2s pvSlideIn;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.pv-save-toast{-webkit-backdrop-filter:blur(12px);color:var(--gold);font-size:12px;font-family:var(--font-mono);letter-spacing:.05em;z-index:20;background:#0a0a0ee6;border:1px solid #c9a84c33;border-radius:20px;align-items:center;gap:8px;padding:8px 18px;animation:.3s pvToastIn;display:flex;position:absolute;bottom:70px;left:50%;transform:translate(-50%)}@keyframes pvToastIn{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.pv-page-wrapper .react-pdf__Page__textContent{opacity:1!important}.pv-page-wrapper .react-pdf__Page__textContent span{cursor:text;color:#0000!important}.pv-page-wrapper .react-pdf__Page__textContent span::selection{background:#c9a84c59}.pv-page-wrapper .react-pdf__Page__textContent span::selection{background:#c9a84c59}.pv-selection-popup{z-index:50;animation:.15s pvSlideIn;position:fixed;transform:translate(-50%,-100%)}.pv-selection-btn{-webkit-backdrop-filter:blur(16px);color:var(--gold);font-size:12px;font-family:var(--font-body);cursor:pointer;white-space:nowrap;letter-spacing:.03em;background:#c9a84c26;border:1px solid #c9a84c59;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;transition:all .15s;display:flex}.pv-selection-btn:hover{border-color:var(--gold);background:#c9a84c40}.pv-quote-highlight{transition:opacity .3s}@keyframes quoteHighlightPulse{0%{opacity:0;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1.02)}to{opacity:1;transform:scaleX(1)}}.pv-progress-bar-wrap{cursor:pointer;-webkit-user-select:none;user-select:none;background:#0006;flex-shrink:0;align-items:center;gap:10px;height:24px;padding:0 16px;display:flex}.pv-progress-bar-wrap:hover .pv-progress-marker{transform:translate(-50%,-50%)scale(1.4)}.pv-progress-bar{background:#ffffff14;border-radius:2px;flex:1;height:4px;transition:height .15s;position:relative;overflow:visible}.pv-progress-bar-wrap:hover .pv-progress-bar{height:6px}.pv-progress-fill{background:#c9a84c4d;border-radius:2px;height:100%;transition:width .3s;position:absolute;top:0;left:0}.pv-progress-marker{background:var(--text-primary,#e8e4dc);border:2px solid var(--gold);z-index:2;border-radius:50%;width:8px;height:8px;transition:left .15s,transform .15s;position:absolute;top:50%;transform:translate(-50%,-50%)}.pv-progress-label{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;letter-spacing:.05em;text-align:right;min-width:120px;font-size:9px}.pv-waypoint-confirm{-webkit-backdrop-filter:blur(16px);z-index:25;white-space:nowrap;background:#0a0a0eeb;border:1px solid #c9a84c33;border-radius:30px;align-items:center;gap:14px;padding:10px 20px;animation:.15s waypointConfirmIn;display:flex;position:absolute;bottom:70px;left:50%;transform:translate(-50%)}@keyframes waypointConfirmIn{0%{opacity:0}to{opacity:1}}.pv-wc-text{color:var(--text-secondary);font-size:12px;font-family:var(--font-body);align-items:center;gap:6px;display:flex}.pv-wc-text strong{color:var(--gold);font-family:var(--font-mono)}.pv-wc-replace{color:var(--text-muted);font-size:10px}.pv-wc-btns{gap:6px;display:flex}.pv-wc-no,.pv-wc-yes{font-size:11px;font-family:var(--font-body);cursor:pointer;letter-spacing:.03em;border:none;border-radius:16px;padding:5px 14px;transition:all .15s}.pv-wc-no{color:var(--text-muted);background:#ffffff0d}.pv-wc-no:hover{color:var(--text-secondary);background:#ffffff1a}.pv-wc-yes{color:var(--gold);background:#c9a84c26}.pv-wc-yes:hover{background:#c9a84c40}.pv-waypoint-group{align-items:center;gap:2px;display:flex}.pv-waypoint-set:hover{color:var(--gold)!important}.pv-btn-flame{color:#e8943a!important;background:#e8943a1a!important}.pv-waypoint-label{font-family:var(--font-mono);margin-left:2px;font-size:10px}.pv-waypoint-pulse{animation:.8s waypointPulse}@keyframes waypointPulse{0%{color:var(--text-secondary);transform:scale(1)}20%{color:var(--gold);transform:scale(1.4)}40%{transform:scale(.9)}60%{color:var(--gold);transform:scale(1.15)}to{transform:scale(1)}}.pv-tutorial-overlay{z-index:80;background:#000000d9;justify-content:center;align-items:center;animation:.3s pvSlideIn;display:flex;position:absolute;inset:0}.pv-tutorial-card{background:var(--bg-card,#111118);text-align:center;border:1px solid #ffffff14;border-radius:16px;width:calc(100% - 40px);max-width:380px;padding:40px 36px 32px}.pv-tutorial-step-indicator{justify-content:center;gap:8px;margin-bottom:28px;display:flex}.pv-tutorial-dot{background:#ffffff1a;border-radius:50%;width:8px;height:8px;transition:all .3s}.pv-tutorial-dot.active{background:var(--gold);transform:scale(1.3)}.pv-tutorial-dot.done{background:#c9a84c66}.pv-tutorial-content{animation:.25s pvSlideIn}.pv-tutorial-icon{color:var(--gold);opacity:.8;margin-bottom:16px}.pv-tutorial-card h3{font-family:var(--font-display);color:var(--text-primary,#e8e4dc);margin-bottom:12px;font-size:22px;font-weight:400}.pv-tutorial-card p{color:var(--text-secondary,#8a8694);font-size:13px;line-height:1.7}.pv-tutorial-card p strong{color:var(--gold);font-weight:500}.pv-tutorial-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:28px;display:flex}.pv-tutorial-dismiss{color:var(--text-muted,#55516a);font-size:11px;font-family:var(--font-body);cursor:pointer;letter-spacing:.03em;background:0 0;border:none;padding:8px 4px;transition:color .2s}.pv-tutorial-dismiss:hover{color:var(--text-secondary)}.pv-tutorial-next{color:var(--gold);font-size:12px;font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#c9a84c1f;border:1px solid #c9a84c4d;border-radius:8px;padding:10px 24px;transition:all .2s}.pv-tutorial-next:hover{border-color:var(--gold);background:#c9a84c33}.pv-echo-overlay{z-index:100;cursor:pointer;background:0 0;justify-content:center;align-items:center;animation:2s forwards echoFadeIn;display:flex;position:absolute;inset:0}@keyframes echoFadeIn{0%{background:0 0}to{background:#000000eb}}.pv-echo-content{text-align:center;opacity:0;animation:2.5s forwards echoTextIn}@keyframes echoTextIn{0%,30%{opacity:0;transform:translateY(20px)}60%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}.pv-echo-line{font-family:var(--font-display);color:var(--gold);letter-spacing:.06em;margin-bottom:16px;font-size:28px;font-style:italic;font-weight:300}.pv-echo-sub{font-family:var(--font-display);color:var(--text-secondary);letter-spacing:.03em;font-size:16px;font-weight:300}.pv-echo-dismiss{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);opacity:0;margin-top:40px;font-size:11px;animation:2s 3s infinite echoPulse}@keyframes echoPulse{0%,to{opacity:.3}50%{opacity:.7}}@media (width<=768px){.pv-topbar{padding:8px 12px}.pv-title{max-width:120px;font-size:11px}.pv-chapter-label{display:none}.pv-toolbar{flex-wrap:wrap;justify-content:center;gap:2px;padding:6px 8px}.pv-toolbar-center{position:static;transform:none}.pv-toolbar-group{gap:1px}.pv-zoom-label,.pv-divider{display:none}.pv-btn{min-width:32px;padding:8px 6px}.pv-side-panel{border-left:none;border-right:none;border-radius:12px 12px 0 0;width:100%}.pv-favs-panel{border-radius:12px 12px 0 0;width:100%}.pv-content{padding:6px 0}.pv-page-note-float{width:calc(100% - 24px);left:12px}.pv-waypoint-confirm{white-space:normal;text-align:center;flex-wrap:wrap;justify-content:center;gap:8px;padding:12px 16px;bottom:60px;left:12px;right:12px;transform:none}.pv-wc-text{text-align:center;justify-content:center}.pv-progress-bar-wrap{gap:6px;height:22px;padding:0 10px}.pv-progress-label{min-width:80px;font-size:8px}.pv-tutorial-card{max-width:calc(100% - 32px);padding:30px 24px 24px}.pv-tutorial-card h3{font-size:18px}.pv-tutorial-card p{font-size:12px}.pv-page-input{width:32px;font-size:12px}.pv-page-total{font-size:11px}}@media (width<=380px){.pv-topbar{padding:6px 8px}.pv-title{max-width:80px;font-size:10px}.pv-btn{min-width:28px;padding:6px 5px}.pv-waypoint-label{display:none}.pv-waypoint-confirm{padding:10px 12px;font-size:11px;bottom:55px}}.pv-btn-ambient{animation:3s infinite ambientGlow;color:var(--gold)!important;background:#c9a84c14!important}@keyframes ambientGlow{0%,to{box-shadow:none}50%{box-shadow:0 0 8px #c9a84c1a}}.pv-ambient-controls{align-items:center;gap:1px;margin-right:2px;display:flex}.pv-ambient-ctrl{opacity:.5;transition:opacity .15s;min-width:24px!important;padding:6px 5px!important}.pv-ambient-ctrl:hover{opacity:1;color:var(--gold)!important}.pv-track-name{font-family:var(--font-display);color:var(--gold);white-space:nowrap;letter-spacing:.04em;opacity:0;max-width:140px;font-size:11px;font-style:italic;position:relative;overflow:hidden}.pv-track-slide{animation:4s forwards trackSlide}@keyframes trackSlide{0%{opacity:0;transform:translate(30px)}10%{opacity:1;transform:translate(0)}75%{opacity:1;transform:translate(0)}90%{opacity:1;transform:translate(-30px)}to{opacity:0;transform:translate(-30px)}}.pv-track-idle{opacity:0;max-width:0;margin:0;padding:0}@media (width<=768px){.pv-ambient-controls{gap:0}.pv-ambient-ctrl{min-width:22px!important;padding:6px 4px!important}.pv-track-name{max-width:80px;font-size:9px}}.characters-section{margin-top:32px}.characters-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.characters-header h3{font-family:var(--font-display);color:var(--text-primary);font-size:24px;font-weight:400}.characters-header .char-count{color:var(--text-muted);font-size:12px;font-family:var(--font-mono)}.characters-grid{grid-template-columns:1fr;gap:20px;display:grid}.char-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);will-change:transform;padding:28px;transition:border-color .3s,box-shadow .3s,transform .15s ease-out;position:relative;overflow:hidden}.char-card-shine{opacity:0;pointer-events:none;z-index:3;background:linear-gradient(105deg,#0000 0% 35%,#ffffff14 45%,#ffffff26 50%,#ffffff14 55%,#0000 65% 100%);width:60%;height:100%;transition:opacity .4s;position:absolute;top:0;left:-100%}.char-card:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--card-tone,var(--gold-dim)) 30%, var(--card-tone,var(--gold)) 50%, var(--card-tone,var(--gold-dim)) 70%, transparent 100%);opacity:0;height:2px;transition:opacity .4s;position:absolute;top:0;left:0;right:0}.char-card:hover{border-color:var(--border-hover);box-shadow:0 0 30px color-mix(in srgb, var(--card-tone,#c9a84c) 8%, transparent)}.char-card:hover:before{opacity:1}.char-card-clickable{cursor:pointer}.char-card-clickable:active{transform:scale(.99)}.char-card-editing{border-color:var(--gold-dim);padding:24px}.char-admin-controls{z-index:2;gap:4px;display:flex;position:absolute;top:12px;right:12px}.char-admin-controls .btn-icon{width:26px;height:26px}.char-portrait{width:80px;height:80px;margin-bottom:18px;position:relative}.char-portrait-inner{border:1px solid var(--border);z-index:1;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative;overflow:hidden}.char-portrait-inner:not(:has(img)){background:linear-gradient(135deg, var(--bg-deep) 0%, var(--bg-card-hover) 50%, var(--bg-deep) 100%)}.char-portrait-initial{font-family:var(--font-display);color:var(--gold-dim);opacity:.7;font-size:28px;font-weight:600}.char-portrait-img{object-fit:cover;object-position:center 20%;border-radius:50%;width:100%;height:100%}.char-portrait-glow{background:radial-gradient(circle, color-mix(in srgb, var(--card-tone,#c9a84c) 20%, transparent) 0%, transparent 60%);opacity:0;border-radius:50%;width:92px;height:92px;transition:opacity .4s;position:absolute;top:-6px;left:-6px}.char-card:hover .char-portrait-glow{opacity:1}.char-info{position:relative}.char-alignment{letter-spacing:.25em;text-transform:uppercase;color:var(--card-tone,var(--gold-dim));margin-bottom:4px;font-size:9px}.char-name{font-family:var(--font-display);color:var(--text-primary);font-size:22px;font-weight:500;line-height:1.2}.char-title{font-family:var(--font-display);color:var(--text-muted);margin-top:2px;font-size:15px;font-style:italic}.char-divider{background:linear-gradient(90deg, var(--card-tone,var(--gold-dim)), transparent);width:30px;height:1px;margin:14px 0}.char-description{color:var(--text-secondary);white-space:pre-wrap;font-size:14px;line-height:1.8}@media (width>=680px){.characters-grid{grid-template-columns:1fr 1fr}.char-card.char-featured{grid-column:1/-1;grid-template-columns:120px 1fr;align-items:start;gap:24px;display:grid}.char-card.char-featured .char-portrait{margin-bottom:0}}@media (width<=679px){.char-card{padding:22px 18px}.char-portrait,.char-portrait-inner{width:64px;height:64px}.char-portrait-glow{width:76px;height:76px;top:-6px;left:-6px}.char-portrait-initial{font-size:22px}.char-name{font-size:19px}.char-description{font-size:13px;line-height:1.75}.characters-header h3{font-size:20px}}.char-flip-btn{z-index:4;width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;bottom:12px;right:12px}.char-flip-btn:hover{border-color:var(--gold-dim);color:var(--gold);background:#c9a84c14}.char-dossier-back{animation:.3s dossierFadeIn}@keyframes dossierFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.char-back-header{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:14px}.char-back-name{font-family:var(--font-display);color:var(--text-primary);font-size:20px;font-weight:500}.char-back-label{letter-spacing:.25em;text-transform:uppercase;color:var(--gold-dim);margin-top:4px;font-size:9px}.char-dossier-grid{flex-direction:column;gap:10px;display:flex}.char-dossier-row{align-items:baseline;gap:12px;display:flex}.char-dossier-key{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0;min-width:70px;font-size:9px}.char-dossier-val{color:var(--text-secondary);font-size:13px}.char-dossier-notes{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.char-dossier-notes-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:9px}.char-dossier-notes p{color:var(--text-secondary);font-size:12px;font-style:italic;line-height:1.7}.places-section{margin-top:32px}.places-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.places-header h3{font-family:var(--font-display);font-size:24px;font-weight:400}.places-header .place-count{color:var(--text-muted);font-size:12px;font-family:var(--font-mono)}.places-grid{grid-template-columns:1fr;gap:20px;display:grid}.place-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);will-change:transform;padding:28px;transition:border-color .3s,box-shadow .3s,transform .15s ease-out;position:relative;overflow:hidden}.place-card-shine{opacity:0;pointer-events:none;z-index:3;background:linear-gradient(105deg,#0000 0% 35%,#ffffff14 45%,#ffffff26 50%,#ffffff14 55%,#0000 65% 100%);width:60%;height:100%;transition:opacity .4s;position:absolute;top:0;left:-100%}.place-card:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--card-tone,#7aaac9) 30%, var(--card-tone,#7aaac9) 50%, var(--card-tone,#7aaac9) 70%, transparent 100%);opacity:0;height:2px;transition:opacity .4s;position:absolute;top:0;left:0;right:0}.place-card:hover{border-color:var(--border-hover);box-shadow:0 0 30px color-mix(in srgb, var(--card-tone,#7aaac9) 8%, transparent)}.place-card:hover:before{opacity:.6}.place-card-clickable{cursor:pointer}.place-card-clickable:active{transform:scale(.99)}.place-card-editing{border-color:var(--gold-dim);padding:24px}.place-admin-controls{z-index:2;gap:4px;display:flex;position:absolute;top:12px;right:12px}.place-admin-controls .btn-icon{width:26px;height:26px}.place-icon{background:linear-gradient(135deg, var(--bg-deep), var(--bg-card-hover));border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:16px;display:flex}.place-icon-letter{font-family:var(--font-display);color:var(--card-tone,#7aaac9);opacity:.6;font-size:24px;font-weight:600}.place-type{letter-spacing:.25em;text-transform:uppercase;color:var(--card-tone,#7aaac9);margin-bottom:4px;font-size:9px}.place-name{font-family:var(--font-display);color:var(--text-primary);font-size:22px;font-weight:500;line-height:1.2}.place-title{font-family:var(--font-display);color:var(--text-muted);margin-top:2px;font-size:15px;font-style:italic}.place-divider{background:linear-gradient(90deg, var(--card-tone,#7aaac9), transparent);width:30px;height:1px;margin:14px 0}.place-description{color:var(--text-secondary);white-space:pre-wrap;font-size:14px;line-height:1.8}@media (width>=680px){.places-grid{grid-template-columns:1fr 1fr}}@media (width<=679px){.place-card{padding:22px 18px}.place-name{font-size:19px}.place-description{font-size:13px}}.place-flip-btn{z-index:4;width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;bottom:12px;right:12px}.place-flip-btn:hover{border-color:var(--gold-dim);color:var(--gold);background:#c9a84c14}.place-dossier-back{animation:.3s dossierFadeIn}.place-back-header{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:14px}.place-back-name{font-family:var(--font-display);color:var(--text-primary);font-size:20px;font-weight:500}.place-back-label{letter-spacing:.25em;text-transform:uppercase;color:var(--card-tone,#7aaac9);margin-top:4px;font-size:9px}.place-dossier-grid{flex-direction:column;gap:10px;display:flex}.place-dossier-row{align-items:baseline;gap:12px;display:flex}.place-dossier-key{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0;min-width:80px;font-size:9px}.place-dossier-val{color:var(--text-secondary);font-size:13px}.place-dossier-notes{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.place-dossier-notes-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:9px}.place-dossier-notes p{color:var(--text-secondary);font-size:12px;font-style:italic;line-height:1.7}.chapter-manager{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-top:20px;padding:24px}.chapter-manager-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.chapter-manager-header h4{font-family:var(--font-display);font-size:18px;font-weight:500}.chapter-manager-actions{flex-wrap:wrap;gap:8px;display:flex}.chapter-empty{text-align:center;color:var(--text-muted);padding:30px 16px;font-size:13px}.chapter-list-header{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);grid-template-columns:1fr 60px 60px 50px 32px;gap:8px;padding:0 0 8px;font-size:9px;display:grid}.chapter-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 60px 60px 50px 32px;align-items:center;gap:8px;padding:10px 0;display:grid}.chapter-row:last-child{border-bottom:none}.ch-col-name{align-items:center;gap:8px;min-width:0;display:flex}.ch-col-start,.ch-col-end,.ch-col-pages,.ch-col-actions{text-align:center}.chapter-row-num{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;width:20px;font-size:11px}.chapter-name-input{background:var(--bg-input);border:1px solid var(--border);min-width:0;color:var(--text-primary);font-family:var(--font-body);border-radius:4px;outline:none;flex:1;padding:6px 8px;font-size:13px;font-weight:300}.chapter-name-input:focus{border-color:var(--gold-dim)}.chapter-page-input{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-mono);text-align:center;-moz-appearance:textfield;border-radius:4px;outline:none;padding:6px 4px;font-size:12px}.chapter-page-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.chapter-page-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.chapter-page-input:focus{border-color:var(--gold-dim)}.chapter-page-count{font-family:var(--font-mono);color:var(--text-secondary);font-size:12px}.chapter-progress-bar{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:252;flex-shrink:0;padding:8px 16px;transition:transform .3s,opacity .3s}.chapter-progress-bar.ch-bar-hidden{opacity:0;pointer-events:none;position:absolute;top:0;left:0;right:0;transform:translateY(-100%)}.chapter-progress-info{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.chapter-progress-name{font-family:var(--font-display);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.chapter-progress-remaining{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:11px}.chapter-progress-track{background:var(--border);border-radius:1px;height:2px;overflow:hidden}.chapter-progress-fill{background:linear-gradient(90deg, var(--gold-dim), var(--gold));border-radius:1px;height:100%;transition:width .3s}.chapter-drawer-overlay{z-index:260;background:#00000080;animation:.15s fadeIn;position:fixed;inset:0}.chapter-drawer{background:var(--bg-surface);border-left:1px solid var(--border);z-index:261;flex-direction:column;width:320px;max-width:85vw;animation:.25s slideInFromRight;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes slideInFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}.chapter-drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.chapter-drawer-header h4{font-family:var(--font-display);font-size:18px;font-weight:500}.chapter-drawer-list{-webkit-overflow-scrolling:touch;flex:1;padding:8px 0;overflow-y:auto}.chapter-drawer-item{cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;padding:12px 20px;transition:background .12s;display:flex}.chapter-drawer-item:hover{background:var(--bg-card-hover)}.chapter-drawer-item:active,.chapter-drawer-item.current{background:var(--gold-glow)}.chapter-drawer-num{font-family:var(--font-mono);color:var(--text-muted);text-align:center;flex-shrink:0;width:22px;font-size:11px}.chapter-drawer-item.current .chapter-drawer-num{color:var(--gold)}.chapter-drawer-info{flex:1;min-width:0}.chapter-drawer-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:400;display:block;overflow:hidden}.chapter-drawer-item.current .chapter-drawer-name{color:var(--gold)}.chapter-drawer-meta{color:var(--text-muted);font-size:11px;font-family:var(--font-mono);margin-top:2px;display:block}.chapter-drawer-current-badge{letter-spacing:.15em;text-transform:uppercase;color:var(--gold);background:var(--gold-glow);border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:9px}@media (width<=768px){.chapter-manager{padding:18px 14px}.chapter-list-header{grid-template-columns:1fr 50px 50px 40px 28px;font-size:8px}.chapter-row{grid-template-columns:1fr 50px 50px 40px 28px;gap:6px;padding:8px 0}.chapter-name-input{padding:5px 6px;font-size:12px}.chapter-page-input{padding:5px 2px;font-size:11px}.chapter-progress-bar{padding:6px 12px}.chapter-progress-name{font-size:13px}.chapter-progress-remaining{font-size:10px}.chapter-drawer{width:280px}.chapter-drawer-item{padding:14px 16px}}.chapter-cascade-notice{background:#c9a84c0f;border:1px solid #c9a84c33;border-radius:10px;margin-bottom:16px;padding:14px 18px;animation:.25s fadeUp}.cascade-text{color:var(--gold);align-items:center;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.cascade-text strong{font-weight:600;font-family:var(--font-mono)}.cascade-btns{gap:8px;display:flex}.dossier-panel{border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);background:#0000004d;margin-bottom:24px;padding:20px 24px;overflow:hidden}.dossier-header{margin-bottom:16px}.dossier-digits{letter-spacing:.3em;opacity:.6;margin-bottom:8px;font-size:10px;font-weight:400}.dossier-border{opacity:.3;width:100%;height:1px}.dossier-body{flex-direction:column;gap:6px;display:flex}.dossier-line{align-items:baseline;gap:10px;font-size:11px;line-height:1.6;display:flex}.dossier-label{color:var(--text-muted);letter-spacing:.15em;text-transform:uppercase;opacity:.6;flex-shrink:0;min-width:100px;font-size:9px}.dossier-value{color:var(--text-secondary);letter-spacing:.02em;font-size:12px}.dossier-classification{border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:10px}.dossier-classification .dossier-label{color:var(--text-secondary);opacity:.8;font-size:10px}.dossier-classification .dossier-value{letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:500}.dossier-cursor{opacity:.7;margin-left:1px;font-size:11px;animation:.6s infinite blink}@keyframes blink{0%,to{opacity:.7}50%{opacity:0}}.dossier-line.done .dossier-cursor{display:none}@media (width<=680px){.dossier-panel{padding:16px}.dossier-line{flex-direction:column;gap:2px}.dossier-label{min-width:0}}.cp-page{position:relative;max-width:100%!important;padding-top:0!important;padding-left:0!important;padding-right:0!important}.cp-page>.flourish,.cp-page>.cp-identity,.cp-page>.cp-entries,.cp-page>.cp-appears{max-width:800px;margin-left:auto;margin-right:auto;padding-left:36px;padding-right:36px}.cp-atmosphere{pointer-events:none;z-index:0;position:fixed;inset:0}.cp-nav-bar{top:20px;left:calc(var(--sidebar-width) + 20px);z-index:50;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;right:20px}.cp-nav-bar>*{pointer-events:auto}.cp-back{-webkit-backdrop-filter:blur(8px);color:var(--text-secondary);font-family:var(--font-body);letter-spacing:.05em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#00000080;border:1px solid #ffffff14;border-radius:20px;align-items:center;gap:6px;padding:8px 18px;font-size:12px;transition:all .2s;display:inline-flex}.cp-back:hover{color:var(--text-primary);border-color:#ffffff26}.cp-prev-next{gap:6px;display:flex}.cp-nav-btn{-webkit-backdrop-filter:blur(8px);color:var(--text-secondary);font-family:var(--font-body);letter-spacing:.03em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#00000080;border:1px solid #ffffff14;border-radius:20px;align-items:center;gap:4px;max-width:160px;padding:8px 14px;font-size:12px;transition:all .2s;display:inline-flex}.cp-nav-btn:hover{color:var(--gold);border-color:#c9a84c40}.cp-nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.cp-banner{z-index:1;width:100%;height:340px;position:relative;overflow:hidden}.cp-banner-images{position:absolute;inset:0;overflow:hidden}.cp-banner-layer{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .8s;position:absolute;inset:0;overflow:hidden}.cp-banner-layer.active{opacity:1;pointer-events:auto;visibility:visible}.cp-banner-placeholder{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex}.cp-banner-real-img{justify-content:center;align-items:flex-start;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.cp-banner-real-img img{object-fit:contain;object-position:center top;will-change:transform;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;max-width:none;height:100%;transition:transform .15s;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 15% 85%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 15% 85%,#0000 100%)}.cp-banner-real-img .cp-banner-book-label{position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.cp-banner-initial{font-family:var(--font-display);opacity:.15;font-size:100px;font-weight:600;line-height:1}.cp-banner-book-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);opacity:.5;font-size:10px}.cp-banner-fade{background:linear-gradient(to top, var(--bg-deep), transparent);pointer-events:none;height:120px;position:absolute;bottom:0;left:0;right:0}.cp-identity{text-align:center;z-index:10;background:var(--bg-deep);padding-top:8px;padding-bottom:8px;position:relative}.cp-alignment{letter-spacing:.25em;text-transform:uppercase;margin-bottom:6px;font-size:10px}.cp-name{font-family:var(--font-display);letter-spacing:.03em;color:var(--text-primary);font-size:38px;font-weight:400;line-height:1.15}.cp-title{font-family:var(--font-display);margin-top:4px;font-size:18px;font-style:italic}.cp-stages{justify-content:center;align-items:center;gap:10px;margin-top:20px;display:flex}.cp-stage-pip{border:1.5px solid var(--border);border-radius:50%;width:8px;height:8px;transition:all .4s}.cp-stage-pip.revealed{transform:scale(1.15)}.cp-entries{flex-direction:column;gap:20px;padding-bottom:16px;display:flex}.cp-entry{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--gold-dim);border-radius:var(--radius);padding:28px}.cp-entry-book{letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:6px;font-size:10px;display:flex}.cp-entry-epithet{font-family:var(--font-display);color:var(--text-primary);margin-bottom:10px;font-size:20px;font-style:italic}.cp-entry-line{width:40px;height:1px;margin-bottom:16px}.cp-entry-text{color:var(--text-secondary);white-space:pre-wrap;font-size:14px;line-height:1.85}.cp-entry-locked{cursor:pointer;border-left-color:var(--border);transition:border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.cp-entry-locked:hover{border-left-color:var(--text-muted);box-shadow:0 0 20px #ffffff05}.cp-encrypted-epithet{letter-spacing:.05em;font-family:var(--font-mono)!important;font-size:16px!important}.cp-encrypted-text{letter-spacing:.02em;word-break:break-all;opacity:.4;transition:opacity .3s,color .3s;font-family:var(--font-mono)!important;color:var(--text-muted)!important;font-size:12px!important;line-height:1.7!important}.cp-encrypted-text.cp-decrypting{opacity:.8;word-break:normal;letter-spacing:normal;color:var(--text-secondary)!important;font-family:var(--font-body)!important;font-size:14px!important}.cp-entry-unlock{border-top:1px solid var(--border);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);justify-content:center;align-items:center;gap:8px;margin-top:20px;padding-top:16px;font-size:12px;display:flex}.cp-entry-locked:hover .cp-entry-unlock{color:var(--text-secondary)}.cp-decrypt-bar{background:var(--border);border-radius:1px;height:2px;margin-top:16px;overflow:hidden}.cp-decrypt-fill{border-radius:1px;height:100%;transition:width 50ms linear}.cp-entry-chronicle{letter-spacing:.2em;text-transform:uppercase;border-top:1px solid var(--border);text-align:center;font-size:10px;font-style:italic;font-family:var(--font-display);margin-top:16px;padding-top:12px;animation:.4s fadeUp}.cp-entry-active{border-color:var(--border-hover);box-shadow:0 0 20px #ffffff08}.cp-entry-active:hover{box-shadow:0 0 25px #ffffff0d}.cp-entry-viewing{letter-spacing:.15em;text-transform:uppercase;background:#ffffff0d;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:9px}.cp-tag-active{font-weight:400;background:#ffffff0d!important}.cp-stage-pip.active{box-shadow:0 0 8px}.cp-entry-future{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;opacity:.4;border:1px dashed var(--border);border-radius:var(--radius);justify-content:center;align-items:center;gap:8px;padding:20px;font-size:12px;display:flex}.cp-appears{text-align:center;margin-top:28px;padding-bottom:40px}.cp-appears-label{letter-spacing:.25em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;font-size:9px}.cp-appears-tags{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.cp-appears-tag{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--border);border-radius:20px;align-items:center;gap:5px;padding:5px 14px;font-size:11px;transition:all .3s;display:flex}.cp-appears-tag.unlocked{background:#ffffff05}.cp-appears-tag.locked{opacity:.4}.cp-page>.cp-identity,.cp-page>.flourish,.cp-page>.cp-entries,.cp-page>.cp-appears,.cp-page>div[style]{z-index:10;background:var(--bg-deep);position:relative}.cp-banner-place .cp-banner-real-img{position:relative}.cp-banner-place .cp-banner-real-img:before{content:"";background-image:var(--place-img);filter:blur(30px)brightness(.4)saturate(1.3);z-index:0;opacity:.7;background-position:50%;background-size:cover;position:absolute;inset:-20px}.cp-banner-place .cp-banner-real-img img{z-index:1;position:relative}@media (width<=768px){.cp-page>.flourish,.cp-page>.cp-identity,.cp-page>.cp-entries,.cp-page>.cp-appears{padding-left:16px;padding-right:16px}.cp-banner{height:260px}.cp-banner-initial{font-size:72px}.cp-nav-bar{top:calc(var(--mobile-header-height) + env(safe-area-inset-top,0px) + 8px);left:12px;right:12px}.cp-back{padding:7px 14px;font-size:11px}.cp-nav-btn{padding:7px 10px;font-size:10px}.cp-nav-label{max-width:60px}.cp-name{font-size:28px}.cp-title{font-size:16px}.cp-entry{padding:22px 18px}.cp-entry-epithet{font-size:17px}.cp-entry-text{font-size:13px;line-height:1.75}.cp-encrypted-text{font-size:11px!important}.cp-encrypted-text.cp-decrypting{font-size:13px!important}}.lang-page-title{font-style:italic}.lang-intro-block{border-left:3px solid var(--gold-dim)}.lang-intro-text{font-size:15px!important;line-height:1.9!important}.lang-dictionary{margin-top:8px}.lang-dict-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.lang-dict-header h3{font-family:var(--font-display);font-size:22px;font-weight:400}.clue-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.clue-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);min-height:260px;max-height:260px;padding:24px;transition:border-color .3s,max-height .5s;position:relative;overflow:hidden}.clue-card:hover{border-color:var(--border-hover)}.clue-blurred .clue-content{filter:blur(6px);-webkit-user-select:none;user-select:none;transition:filter .6s}.clue-revealed{scrollbar-width:thin;scrollbar-color:var(--border) transparent;max-height:260px;overflow-y:auto}.clue-revealed::-webkit-scrollbar{width:4px}.clue-revealed::-webkit-scrollbar-track{background:0 0}.clue-revealed::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.clue-card:has(.clue-edit){max-height:none;overflow:visible}.clue-admin{z-index:5;gap:4px;display:flex;position:absolute;top:10px;right:10px}.clue-content{position:relative}.clue-title{font-family:var(--font-display);color:var(--gold);margin-bottom:4px;font-size:20px;font-weight:500}.clue-subtitle{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;font-size:12px}.clue-body{color:var(--text-secondary);font-size:13px;font-style:italic;line-height:1.75}.clue-overlay{cursor:pointer;z-index:3;border-radius:var(--radius);-webkit-tap-highlight-color:transparent;background:#00000026;justify-content:center;align-items:center;transition:background .2s;display:flex;position:absolute;inset:0}.clue-overlay:hover{background:#00000040}.clue-reveal-btn{-webkit-backdrop-filter:blur(8px);color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-family:var(--font-body);background:#00000080;border:1px solid #ffffff14;border-radius:24px;align-items:center;gap:8px;padding:10px 22px;transition:all .2s;display:flex}.clue-overlay:hover .clue-reveal-btn{color:var(--gold);border-color:var(--gold-dim)}.clue-edit{padding-top:4px}.clue-dossier{font-family:var(--font-mono)}.clue-dossier-digits{letter-spacing:.3em;color:var(--gold);opacity:.5;margin-bottom:8px;font-size:9px}.clue-dossier-divider{background:var(--gold-dim);opacity:.2;height:1px;margin-bottom:14px}.clue-dossier-line{align-items:baseline;gap:10px;margin-bottom:4px;font-size:11px;line-height:1.6;display:flex}.clue-dossier-label{color:var(--text-muted);letter-spacing:.15em;text-transform:uppercase;opacity:.5;flex-shrink:0;min-width:70px;font-size:9px}.clue-dossier-value{color:var(--text-secondary);letter-spacing:.02em;font-size:12px}.clue-dossier-header-line{border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:8px}.clue-dossier-header-line .clue-dossier-label{color:var(--text-secondary);opacity:.7;font-size:10px}.clue-dossier-header-line .clue-dossier-value{color:var(--gold);letter-spacing:.04em;font-size:14px;font-weight:500}.clue-dossier-cursor{opacity:.7;margin-left:1px;font-size:11px;animation:.6s infinite clueBlink}@keyframes clueBlink{0%,to{opacity:.7}50%{opacity:0}}.clue-dossier-line.done .clue-dossier-cursor{display:none}@media (width<=680px){.clue-grid{grid-template-columns:1fr}.clue-card{min-height:220px;max-height:220px;padding:18px 16px}.clue-revealed{max-height:220px}.clue-title{font-size:18px}.clue-body{font-size:12px}.clue-dossier-line{flex-direction:column;gap:2px}.clue-dossier-label{min-width:0}}.wall-page{max-width:900px;margin:0 auto}.wall-header{text-align:center;padding:40px 0 30px}.wall-title{font-family:var(--font-display);letter-spacing:.08em;color:var(--text-primary);margin-bottom:8px;font-size:36px;font-weight:300}.wall-subtitle{color:var(--text-muted);letter-spacing:.04em;font-size:13px}.wall-loading,.wall-empty{text-align:center;color:var(--text-muted);padding:60px 20px;font-size:13px}.wall-empty{flex-direction:column;align-items:center;gap:12px;display:flex}.wall-surface-wrap{cursor:default;background:#0c0b0f;border-radius:8px;margin:0 -20px 60px;position:relative;overflow:hidden}.wall-surface-wrap:before{content:"";pointer-events:none;z-index:1;background:radial-gradient(at 20% 30%,#1e1c2399,#0000 50%),radial-gradient(at 80% 70%,#19161e80,#0000 50%),radial-gradient(#1412194d,#0000 70%);position:absolute;inset:0}.wall-surface-wrap:after{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(0deg,#0000,#0000 40px,#ffffff02 40px 41px);position:absolute;inset:0}.wall-surface-wrap:has(.wall-zoomed){cursor:zoom-out}.wall-surface{will-change:transform;transform-origin:0 0;z-index:2;background:#0c0b0f;transition:transform .5s cubic-bezier(.2,0,0,1);position:relative;overflow:hidden}.wall-zoom-hint{letter-spacing:.15em;text-transform:uppercase;color:#ffffff26;pointer-events:none;z-index:5;font-size:9px;position:absolute;bottom:12px;right:16px}.wall-texture{pointer-events:none;z-index:0;background:radial-gradient(at 20% 30%,#1e1c2399,#0000 50%),radial-gradient(at 80% 70%,#19161e80,#0000 50%),radial-gradient(#1412194d,#0000 70%);position:absolute;inset:0}.wall-surface:before{content:"";pointer-events:none;z-index:1;background:repeating-linear-gradient(0deg,#0000,#0000 40px,#ffffff02 40px 41px);position:absolute;inset:0}.wall-note{cursor:default;z-index:2;background:#0c0b10d9;border:1px solid #ffffff0d;border-radius:2px;min-width:60px;max-width:180px;position:absolute;box-shadow:2px 2px 8px #00000080}.wall-note:hover{z-index:10;border-color:#ffffff1a}.wall-pin{z-index:3;background:radial-gradient(circle,#a08c6499,#64553c66);border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:50%;transform:translate(-50%);box-shadow:0 1px 3px #00000080}.wall-note.wall-shared{border-color:#c9a84c40;box-shadow:2px 2px 8px #00000080,0 0 10px #c9a84c0f}.wall-note.wall-shared .wall-note-text{color:var(--gold)}.wall-note.wall-shared .wall-pin{background:radial-gradient(circle,#c9a84ccc,#a0823299);box-shadow:0 0 4px #c9a84c4d}.wall-note.wall-popular{border-color:#7aaac933}.wall-note.wall-popular .wall-note-text{color:#7aaac9}.wall-note.wall-popular .wall-pin{background:radial-gradient(circle,#7aaac9b3,#5078a080)}.wall-note-text{font-family:var(--font-display);color:var(--text-secondary);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin-bottom:6px;font-style:italic;font-weight:300;line-height:1.5;display:-webkit-box;overflow:hidden}.wall-note-meta{color:#ffffff26;letter-spacing:.06em;font-size:7px;font-family:var(--font-mono);align-items:center;gap:5px;display:flex}.wall-note-count{color:var(--gold-dim);margin-left:auto}.wall-voting-section{border-top:1px solid var(--border);padding:50px 0 60px}.wall-voting-header{color:var(--gold);justify-content:center;align-items:center;gap:10px;margin-bottom:8px;display:flex}.wall-voting-header h2{font-family:var(--font-display);letter-spacing:.06em;color:var(--text-primary);font-size:28px;font-weight:300}.wall-voting-subtitle{text-align:center;color:var(--text-muted);letter-spacing:.03em;margin-bottom:30px;font-size:12px;font-style:italic}.vote-book{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;margin-bottom:12px;overflow:hidden}.vote-book-header{width:100%;color:var(--text-primary);font-family:var(--font-display);cursor:pointer;letter-spacing:.03em;background:0 0;border:none;justify-content:space-between;align-items:center;padding:14px 18px;font-size:16px;font-weight:400;transition:background .15s;display:flex}.vote-book-header:hover{background:#ffffff05}.vote-book-count{font-family:var(--font-mono);color:var(--gold-dim);align-items:center;gap:6px;font-size:11px;display:flex}.vote-chapter-list{border-top:1px solid var(--border);padding:6px 0}.vote-chapter{cursor:pointer;padding:10px 18px;transition:background .15s;position:relative;overflow:hidden}.vote-chapter:hover{background:#ffffff05}.vote-chapter.vote-mine{background:#c9a84c0a}.vote-chapter-bar{pointer-events:none;background:#c9a84c0f;border-radius:0 4px 4px 0;transition:width .4s;position:absolute;top:0;bottom:0;left:0}.vote-chapter-content{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.vote-chapter-title{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.vote-mine .vote-chapter-title{color:var(--gold)}.vote-chapter-stat{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.05em;font-size:10px}@media (width<=768px){.wall-note{width:40%;min-width:80px}.wall-surface-wrap{max-height:500px}.wall-title{font-size:28px}.wall-voting-header h2{font-size:22px}}.summons-overlay{z-index:9000;justify-content:center;align-items:center;animation:.5s summonsFadeIn;display:flex;position:fixed;inset:0}@keyframes summonsFadeIn{0%{opacity:0}to{opacity:1}}.summons-backdrop{-webkit-backdrop-filter:blur(4px);background:#000c;position:absolute;inset:0}.summons-sealed{z-index:2;cursor:pointer;flex-direction:column;align-items:center;gap:20px;animation:3s infinite summonsFloat;display:flex;position:relative}@keyframes summonsFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.summons-seal{background:radial-gradient(circle at 40% 35%,#c9a84ccc,#8c6e2899);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative;box-shadow:0 0 30px #c9a84c33,0 4px 15px #00000080,inset 0 -2px 6px #0000004d}.summons-seal:after{content:"✦";color:#00000059;font-size:28px}.summons-sealed-text{text-align:center}.summons-sealed-title{font-family:var(--font-display);letter-spacing:.1em;color:var(--gold);font-size:18px;font-weight:300}.summons-sealed-hint{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-top:6px;font-size:10px;animation:2s infinite summonsPulse}@keyframes summonsPulse{0%,to{opacity:.3}50%{opacity:.7}}.summons-opening{z-index:2;justify-content:center;align-items:center;display:flex;position:relative}.summons-seal-breaking{animation:.6s forwards sealBreak}@keyframes sealBreak{0%{opacity:1;transform:scale(1)}30%{opacity:1;transform:scale(1.2);box-shadow:0 0 50px #c9a84c80}60%{opacity:.8;transform:scale(1.3)}to{opacity:0;transform:scale(0)}}.summons-letter{z-index:2;text-align:center;background:#0c0b10f2;border:1px solid #c9a84c33;border-radius:4px;width:calc(100% - 40px);max-width:440px;padding:40px 36px 32px;animation:.4s letterAppear;position:relative;box-shadow:0 20px 60px #00000080}@keyframes letterAppear{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.summons-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;transition:color .15s;position:absolute;top:12px;right:12px}.summons-close:hover{color:var(--text-primary)}.summons-letter-ornament{color:var(--gold);opacity:.4;margin-bottom:20px;font-size:20px}.summons-letter-body{font-family:var(--font-display);color:var(--text-primary);letter-spacing:.02em;margin-bottom:24px;font-size:17px;font-weight:300;line-height:1.7}.summons-letter-footer{border-top:1px solid #c9a84c1a;padding-top:16px}.summons-letter-date{letter-spacing:.1em;color:var(--text-muted);margin-bottom:6px;font-size:10px}.summons-letter-from{font-family:var(--font-display);color:var(--gold-dim);letter-spacing:.05em;font-size:13px;font-style:italic}.summons-letter-more{letter-spacing:.1em;color:var(--text-muted);margin-top:16px;font-size:10px}@media (width<=768px){.summons-letter{padding:32px 24px 24px}.summons-letter-body{font-size:15px}.summons-seal{width:64px;height:64px}.summons-seal:after{font-size:22px}}:root{--bg-deep:#08080c;--bg-surface:#0e0e14;--bg-card:#111118;--bg-card-hover:#16161f;--bg-input:#0b0b12;--border:#1a1a26;--border-hover:#2a2a3a;--border-focus:#c9a84c;--gold:#c9a84c;--gold-dim:#9e7a30;--gold-bright:#e0c060;--gold-glow:#c9a84c1f;--gold-glow-strong:#c9a84c40;--text-primary:#eae6de;--text-secondary:#908c82;--text-muted:#4e4a42;--danger:#c94c4c;--danger-bg:#c94c4c14;--success:#4cc96a;--success-bg:#4cc96a14;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"Outfit", sans-serif;--font-mono:"JetBrains Mono", monospace;--sidebar-width:260px;--mobile-header-height:56px;--radius:10px;--radius-sm:6px}[data-theme=light]{--bg-deep:#f5f2ed;--bg-surface:#edeae4;--bg-card:#fff;--bg-card-hover:#f8f6f2;--bg-input:#f0ede7;--border:#d8d4cc;--border-hover:#c4c0b8;--border-focus:#a07d2e;--gold:#96722a;--gold-dim:#7a5e22;--gold-bright:#b8923a;--gold-glow:#96722a1a;--gold-glow-strong:#96722a33;--text-primary:#1a1816;--text-secondary:#5c5850;--text-muted:#9e998e;--danger:#b83c3c;--danger-bg:#b83c3c0f;--success:#3a8a4e;--success-bg:#3a8a4e0f}body{cursor:default}.cursor-glow{pointer-events:none;z-index:9999;opacity:0;mix-blend-mode:screen;background:radial-gradient(circle,#c9a84c59 0%,#0000 70%);border-radius:50%;width:20px;height:20px;transition:width .2s,height .2s,opacity .2s;position:fixed;transform:translate(-50%,-50%)}.cursor-glow.visible{opacity:1}.cursor-glow.hovering{background:radial-gradient(circle,#c9a84c40 0%,#0000 70%);width:44px;height:44px}.particles-container{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.particle{background:var(--gold);opacity:0;border-radius:50%;width:2px;height:2px;animation:linear infinite particleFloat;position:absolute}@keyframes particleFloat{0%{opacity:0;transform:translateY(100vh)scale(.5)}10%{opacity:.6}90%{opacity:.3}to{opacity:0;transform:translateY(-10vh)scale(.2)}}.page-transition-enter{opacity:0;transform:translateY(12px)}.page-transition-active{opacity:1;transition:opacity .35s,transform .35s;transform:none}.page-transition-exit{opacity:0;transition:opacity .15s,transform .15s;transform:translateY(-8px)}.scroll-reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.scroll-reveal.revealed{opacity:1;transform:none}.parallax-img{will-change:transform;transition:transform .1s linear}.flourish{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:14px;margin:28px 0;display:flex}.flourish-line{background:linear-gradient(90deg, transparent, var(--gold-dim), transparent);flex:1;max-width:80px;height:1px}.flourish-diamond{background:var(--gold-dim);flex-shrink:0;width:6px;height:6px;transform:rotate(45deg)}.drop-cap:first-letter{font-family:var(--font-display);float:left;color:var(--gold);margin-top:4px;margin-right:8px;font-size:3.2em;font-weight:600;line-height:.8}.reading-progress{background:linear-gradient(90deg, var(--gold-dim), var(--gold), var(--gold-bright));z-index:500;height:2px;box-shadow:0 0 8px var(--gold-glow-strong);transition:width .1s linear;position:fixed;top:0;left:0}.back-to-top{background:var(--bg-card);border:1px solid var(--gold-dim);width:40px;height:40px;color:var(--gold);cursor:pointer;z-index:200;opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .3s,transform .3s,box-shadow .3s;display:flex;position:fixed;bottom:28px;right:28px;transform:translateY(10px)}.back-to-top.visible{opacity:1;pointer-events:all;transform:translateY(0)}.back-to-top:hover{box-shadow:0 0 20px var(--gold-glow-strong);border-color:var(--gold)}.theme-toggle{border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.theme-toggle:hover{border-color:var(--gold-dim);color:var(--gold)}.quote-rotator{text-align:center;justify-content:center;align-items:center;min-height:80px;padding:20px 0;display:flex}.quote-text{font-family:var(--font-display);color:var(--text-muted);max-width:520px;font-size:17px;font-style:italic;line-height:1.6;transition:opacity .5s}.quote-attr{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--gold-dim);margin-top:10px;font-size:11px;font-style:normal;display:block}.author-section{align-items:flex-start;gap:28px;display:flex}.author-avatar{background:linear-gradient(135deg, var(--bg-input), var(--bg-card-hover));border:1px solid var(--border);width:100px;height:100px;color:var(--text-muted);letter-spacing:.15em;text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex}.author-info h4{font-family:var(--font-display);margin-bottom:8px;font-size:20px;font-weight:500}.author-info p{color:var(--text-secondary);font-size:14px;line-height:1.8}@media (width<=560px){.author-section{text-align:center;flex-direction:column;align-items:center}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-body);min-height:100vh;font-weight:300;line-height:1.6}a{color:var(--gold);text-decoration:none}a:hover{color:var(--gold-bright)}img{max-width:100%;display:block}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes glowPulse{0%,to{box-shadow:0 0 15px #c9a84c08}50%{box-shadow:0 0 30px #c9a84c14}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.fade-up{animation:.5s forwards fadeUp}.fade-up-1{opacity:0;animation:.5s 80ms forwards fadeUp}.fade-up-2{opacity:0;animation:.5s .16s forwards fadeUp}.fade-up-3{opacity:0;animation:.5s .24s forwards fadeUp}.heading-display{font-family:var(--font-display);letter-spacing:.03em;font-weight:300;line-height:1.2}.ampersand{color:var(--gold);font-style:italic;font-weight:400}.accent{color:var(--gold)}.label-upper{letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.btn{border-radius:var(--radius-sm);font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-size:12px;font-weight:400;transition:all .2s;display:inline-flex}.btn-gold{background:linear-gradient(135deg, var(--gold), var(--gold-dim));color:#0a0a0e}.btn-gold:hover{box-shadow:0 4px 24px var(--gold-glow-strong);transform:translateY(-1px)}.btn-gold:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-outline{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.btn-outline:hover{border-color:var(--gold-dim);color:var(--gold)}.btn-danger{color:var(--danger);background:0 0;border:1px solid #c94c4c4d}.btn-danger:hover{background:var(--danger-bg)}.btn-sm{padding:8px 16px;font-size:11px}.btn-icon{border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;transition:all .2s;display:inline-flex}.btn-icon:hover{border-color:var(--gold-dim);color:var(--gold)}.btn-icon.danger:hover{color:var(--danger);border-color:#c94c4c66}.form-group{margin-bottom:20px}.form-group label{letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px;font-size:10px;display:block}.form-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-body);outline:none;padding:11px 14px;font-size:14px;font-weight:300;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--gold-glow)}textarea.form-input{resize:vertical;min-height:140px;line-height:1.7}select.form-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23908c82' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.input-with-toggle{position:relative}.input-with-toggle .form-input{padding-right:42px}.input-toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .15s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.input-toggle-btn:hover{color:var(--text-secondary)}.badge{letter-spacing:.12em;text-transform:uppercase;border-radius:20px;padding:3px 10px;font-size:10px;font-weight:400;display:inline-block}.badge-admin{color:var(--gold);background:var(--gold-glow)}.badge-guest{color:var(--text-muted);background:#4e4a4226}.badge-status{color:var(--success);background:var(--success-bg)}.toast{background:var(--bg-card);border:1px solid var(--gold-dim);border-radius:var(--radius);color:var(--gold);z-index:400;align-items:center;gap:8px;padding:12px 20px;font-size:13px;animation:.3s fadeUp;display:flex;position:fixed;bottom:24px;right:24px}.modal-overlay{z-index:300;background:#000000bf;justify-content:center;align-items:center;padding:20px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:440px;padding:32px;animation:.25s fadeUp}.modal-box h3{font-family:var(--font-display);margin-bottom:20px;font-size:20px;font-weight:500}.modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.placeholder-img{background:linear-gradient(135deg, var(--bg-input) 0%, var(--bg-card-hover) 50%, var(--bg-input) 100%);border-radius:var(--radius);width:100%;height:200px;color:var(--text-muted);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--border);background-size:200% 100%;justify-content:center;align-items:center;font-size:11px;animation:8s infinite shimmer;display:flex}.quote-rotator-editing{text-align:left}.quote-edit-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.quote-edit-list{flex-direction:column;gap:10px;display:flex}.quote-edit-item{background:var(--bg-input,#ffffff08);border:1px solid var(--border);border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.quote-edit-fields{flex-direction:column;flex:1;gap:6px;display:flex}.quote-edit-fields .form-input{padding:6px 10px}@media (width<=768px){html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.main-content{-webkit-overflow-scrolling:touch}input,select,textarea,.form-input{font-size:16px!important}.pv-echo-line{padding:0 20px;font-size:20px}.pv-echo-sub{padding:0 20px;font-size:13px}}.maintenance-page{background:#08080c;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.maintenance-content{text-align:center;max-width:440px;animation:.8s fadeUp}.maintenance-ornament{color:var(--gold);opacity:.3;margin-bottom:24px;font-size:28px}.maintenance-content h1{font-family:var(--font-display);letter-spacing:.06em;color:var(--text-primary);margin-bottom:16px;font-size:32px;font-weight:300}.maintenance-content p{color:var(--text-secondary);margin-bottom:20px;font-size:14px;line-height:1.7}.maintenance-sub{font-family:var(--font-display);letter-spacing:.1em;color:var(--gold-dim);font-size:12px;font-style:italic}
