.library-protected-content{position:relative;isolation:isolate;overflow:hidden}.library-protected-content,.library-protected-content *{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.library-protected-content:focus-visible{outline:2px solid var(--accent,#477bde);outline-offset:4px}.library-protected-text{position:relative;z-index:0}.library-content-watermarks{position:absolute;inset:0;z-index:1;pointer-events:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:space-around;gap:5rem 1rem;overflow:hidden;opacity:.16;color:currentColor}.library-content-watermarks span{font-size:.75rem;line-height:1.5;transform:rotate(-24deg);text-align:center;white-space:nowrap}.library-print-notice{display:none}@media print{.library-content-watermarks,.library-protected-text{display:none!important}.library-print-notice{display:block!important}.library-protected-content{overflow:visible}}.library-desk-progress{position:absolute;z-index:35;left:50%;bottom:112px;transform:translateX(-50%);display:flex;align-items:center;gap:16px;width:min(670px,calc(100% - 28px));padding:18px;border-radius:20px;color:var(--hall-ink,#242a26);box-sizing:border-box}.library-desk-progress>div{flex:1 1;min-width:0}.library-desk-progress p{margin:0 0 5px;font-size:16px;font-weight:600}.library-desk-progress small{font-size:13px}.library-desk-progress button{min-height:44px;flex-shrink:0}.library-desk-progress .hall-secondary{display:flex;align-items:center;gap:7px}.library-desk-error{position:absolute;z-index:36;left:14px;bottom:114px;max-width:460px;padding:16px;border-radius:16px}.library-desk-practice{position:fixed;z-index:70;inset:0;overflow:auto;padding:48px 20px;background:rgba(19,27,23,.55);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.library-desk-practice[hidden]{display:none}.library-desk-practice .library-practice-paper{margin:0 auto}.library-desk-preview-note{padding:0 24px;font-size:13px;color:var(--hall-muted,#626760)}@media(max-width:600px){.library-desk-progress{bottom:106px;flex-wrap:wrap;gap:12px;padding:14px}.library-desk-progress>div{flex-basis:calc(100% - 64px)}.library-desk-progress .hall-secondary{flex:1 1;justify-content:center}.library-desk-practice{padding:20px 12px 100px}.library-desk-preview-note{padding:0 16px}}.library-practice-paper{--practice-ink:var(--ink);--practice-muted:var(--muted);--practice-line:var(--line);--practice-blue:var(--button-accent);--practice-red:var(--status-danger);--practice-padding:clamp(18px,3vw,30px);width:min(100%,760px);max-height:min(88dvh,1100px);overflow:auto;overscroll-behavior:contain;scroll-padding-block:20px 100px;margin:auto;padding:var(--practice-padding);border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--practice-ink);box-shadow:0 20px 60px #15273824;font-size:16px;line-height:1.6}.library-practice-paper[hidden]{display:none}.library-practice-paper *{box-sizing:border-box}.library-practice-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.library-practice-header h2{margin:0;font-size:clamp(24px,4vw,32px);letter-spacing:-.03em;line-height:1.2}.library-practice-caption{margin:0 0 4px;color:var(--practice-muted);font-size:13px}.library-practice-rules{margin:18px 0;max-width:65ch}.library-practice-stock{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding-bottom:16px;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}.library-practice-error-marks{display:flex;gap:6px}.library-practice-error-marks i{width:8px;height:8px;border:1px solid #8e99a8;border-radius:50%}.library-practice-error-marks i[data-marked=true]{border-color:var(--practice-red);background:var(--practice-red)}.library-practice-form{margin-top:20px}.library-practice-form label{display:block;margin:0 0 6px;font-size:14px;font-weight:600}.library-practice-answer input,.library-practice-form select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--practice-ink);font:inherit}.library-practice-question{margin:18px 0;line-height:1.6}.library-practice-question p:last-child{margin:0}.library-practice-sheet{position:relative;margin:18px 0 22px;padding:20px 18px 18px 44px;border:1px solid var(--line);border-radius:3px 3px 10px 3px;background:var(--paper);box-shadow:3px 4px 0 var(--control)}.library-practice-sheet:before{content:"";position:absolute;top:0;bottom:0;left:30px;width:1px;background:#db9ba5}.library-practice-crumple-animation{position:absolute;right:20px;top:50px;z-index:2;width:96px;height:128px;pointer-events:none;border:1px solid #a8b6c6;border-radius:2px;background:repeating-linear-gradient(180deg,#fff 0,#fff 19px,#ccdbee 0,#ccdbee 20px);box-shadow:3px 5px 14px #27364626;transform-origin:center;animation:library-practice-crumple .48s ease-in forwards}@keyframes library-practice-crumple{0%{opacity:1;transform:translateY(0) scale(1) skew(0deg) rotate(0deg)}35%{opacity:1;transform:translateY(8px) scale(.7,.85) skew(14deg) rotate(-12deg);border-radius:12px 25px 8px 20px}70%{opacity:1;transform:translateY(30px) scale(.35,.28) skew(-16deg) rotate(25deg);border-radius:35%}to{opacity:0;transform:translateY(64px) scale(.2) skew(8deg) rotate(45deg);border-radius:45%}}.library-practice-sheet-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:var(--practice-muted);font-size:13px}.library-practice-sheet textarea{display:block;width:100%;min-height:210px;resize:vertical;padding:0;border:0;border-radius:2px;outline-offset:5px;color:var(--practice-ink);background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,var(--practice-line) 29px,var(--practice-line) 30px);font:16px/30px ui-monospace,SFMono-Regular,Consolas,monospace}.library-practice-sheet textarea::placeholder{color:var(--practice-muted)}.library-practice-draft-notes{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin-top:12px;color:var(--practice-muted);font-size:13px;line-height:1.5}.library-practice-draft-notes p{flex:1 1 240px;margin:0}.library-practice-draft-notes span{white-space:nowrap}.library-practice-answer>p{margin:8px 0 14px;color:var(--practice-muted);font-size:13px}.library-practice-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;color:var(--practice-ink);background:var(--surface);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.library-practice-button:hover:not(:disabled){background:var(--control);border-color:var(--muted)}.library-practice-button-primary{border-color:var(--practice-blue);background:var(--practice-blue);color:#fff}.library-practice-button-primary:hover:not(:disabled){background:var(--button-accent-hover);border-color:var(--button-accent-hover)}.library-practice-button:disabled{cursor:default;opacity:.55}.library-practice-paper :focus-visible{outline:3px solid var(--focus);outline-offset:3px}.library-practice-feedback{padding:12px 14px;margin:18px 0;border-radius:8px;background:var(--control);color:var(--practice-ink);font-size:14px}.library-practice-feedback[data-feedback=crumpled],.library-practice-feedback[data-feedback=exhausted],.library-practice-feedback[data-feedback=wrong]{background:color-mix(in srgb,var(--status-danger) 8%,var(--surface));color:var(--status-danger)}.library-practice-feedback[data-feedback=correct],.library-practice-feedback[data-feedback=refilled]{background:color-mix(in srgb,var(--status-success) 8%,var(--surface));color:var(--status-success)}.library-practice-actions{position:sticky;bottom:calc(-1 * var(--practice-padding));z-index:3;display:flex;flex-wrap:wrap;gap:10px;margin:16px calc(-1 * var(--practice-padding)) calc(-1 * var(--practice-padding));padding:12px var(--practice-padding);border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -8px 16px var(--surface)}.library-practice-history{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.library-practice-paper summary{min-height:44px;padding:10px 0;cursor:pointer;font-weight:600}.library-practice-history p{margin:8px 0;font-size:13px;color:var(--practice-muted)}.library-practice-history-sheet{margin-left:10px;padding-left:12px;border-left:2px solid var(--line)}.library-practice-crumpled-icon{display:inline-block;width:16px;height:16px;margin-right:8px;vertical-align:middle;border:1px solid #8090a4;border-radius:4px 9px 5px 7px;background:linear-gradient(35deg,#e5ebf2 45%,#fff 46%,#fff 65%,#ced8e4 66%);transform:rotate(-12deg)}.library-practice-history-draft{white-space:pre-wrap;overflow-wrap:anywhere}.library-practice-storage{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;font-size:13px;color:var(--practice-muted)}.library-practice-storage p{margin:0}.library-practice-clear{display:inline-flex;min-height:44px;gap:6px;align-items:center;padding:8px 0;border:0;color:var(--practice-muted);background:transparent;font:inherit;cursor:pointer}.library-practice-clear:hover{color:var(--practice-ink);text-decoration:underline}@media (max-width:480px){.library-practice-paper{--practice-padding:18px;border-radius:12px}.library-practice-sheet{padding-left:34px;padding-right:12px}.library-practice-sheet:before{left:23px}.library-practice-actions>button{flex:1 1 100%}}@media (prefers-reduced-motion:reduce){.library-practice-crumple-animation{animation:none;display:none}}.hall-store-navigation{display:flex;align-items:center;gap:22px;min-width:0;margin-left:auto}.hall-store-navigation a{display:flex;align-items:center;min-height:44px;font-size:.8125rem;line-height:1.4;white-space:nowrap;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px}.hall-store-navigation a:hover{text-decoration-color:var(--room-accent)}.library-header .header-actions{margin-left:4px}.library-header .header-description{max-width:160px;line-height:1.5}.scene-frame[data-static=true] .scene-fallback{opacity:1;transition:none}.brief-save{border-top:1px solid var(--line);margin-top:20px;padding-top:20px;display:grid;gap:12px}.brief-save>p{max-width:65ch;color:var(--muted);font-size:.875rem;line-height:1.6}.brief-save .premium-button{justify-self:start}.brief-save-success{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#315C49}.brief-recovery{padding:18px;background:#E8EDE7;border:1px solid #9caaa0;display:grid;gap:12px;max-width:100%}.brief-recovery h3{font-size:1rem;font-weight:550}.brief-recovery p{font-size:.8125rem;line-height:1.65;max-width:65ch}.brief-recovery code{font-family:monospace;font-size:.9375rem;line-height:1.6;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:var(--surface);padding:12px;display:block;max-width:100%}.brief-recovery button{justify-self:start;border:1px solid #7b8e81}.brief-save[aria-busy=true]{cursor:progress}@media(max-width:1240px){.library-header .header-description{display:none}.hall-store-navigation{gap:18px}}@media(max-width:800px){.library-header{flex-wrap:wrap;gap:4px 12px}.library-header .header-actions{margin-left:auto}.hall-store-navigation{order:3;flex-basis:100%;margin-left:0;gap:24px}.hall-store-navigation a{font-size:.8125rem;min-height:40px}.scene-tools{gap:6px}.scene-view-toggle{max-width:145px}}@media(max-width:360px){.hall-store-navigation{gap:16px}.hall-store-navigation a{font-size:.75rem}}@media(prefers-reduced-motion:reduce){.hall-store-navigation a,.scene-view-toggle{transition:none}}