/* 자동 생성 파일: scripts/react-import/bundle-imported-css.mjs 가 만든다. 손으로 고치지 않는다. 원본은 src/components/react-import/importedStyleSheet.mjs */

/* Font binaries are not bundled; publisher webfont stylesheets are loaded at runtime. */
.ref-book{
            --paper: #F3F2EE;
            --paper-shade: #EAE9E4;
            --ink: #161615;
            --ink-light: #5A5A58;
            --binder: #282928;
            --binder-dark: #1A1A1A;
            --tab-text: #A0A09C;
            --desk: #111111;
            
            --font-display: "Cormorant Garamond", serif;
            --font-sans: "Manrope", sans-serif;
            --font-mono: "JetBrains Mono", monospace;
            
            --border-light: rgba(22, 22, 21, 0.12);
            --border-dark: rgba(22, 22, 21, 0.3);
        }
.ref-book *{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }
.ref-book.folio-wrapper{
            width: 90vw;
            max-width: 1600px;
            height: 85vh;
            display: flex;
            position: relative;
            box-shadow: 0 30px 60px rgba(0,0,0,0.6), 0 0 100px rgba(0,0,0,0.4) inset;
        }
.ref-book .binder-backing{
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: var(--binder);
            border-radius: 4px 12px 12px 4px;
            box-shadow: inset -5px 0 20px rgba(0,0,0,0.5);
        }
.ref-book .tabs-container{
            position: absolute;
            right: -38px;
            top: 50px;
            display: flex;
            flex-direction: column;
            gap: 4px;
            z-index: 10;
        }
.ref-book .tab{
            background-color: var(--binder);
            color: var(--tab-text);
            width: 40px;
            padding: 24px 0;
            writing-mode: vertical-rl;
            text-orientation: mixed;
            transform: rotate(180deg);
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: var(--font-display);
            font-size: 11px;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 5px 0 10px rgba(0,0,0,0.3);
            
            clip-path: polygon(100% 0, 100% 100%, 0 calc(100% - 8px), 0 8px);
            border-left: 1px solid rgba(255,255,255,0.05);
        }
.ref-book .tab:hover,.ref-book .tab.active{
            color: var(--paper);
            background-color: var(--binder-dark);
            transform: rotate(180deg) translateX(4px);
        }
.ref-book .page-spread{
            position: relative;
            z-index: 5;
            display: flex;
            width: calc(100% - 20px); 
            height: calc(100% - 10px); 
            margin: 5px 0 5px 5px;
            background-color: var(--paper);
            box-shadow: -2px 0 10px rgba(0,0,0,0.2);
            border-radius: 2px 6px 6px 2px;
            overflow: hidden;
        }
.ref-book .gutter{
            position: absolute;
            left: 50%;
            top: 0;
            bottom: 0;
            width: 40px;
            transform: translateX(-50%);
            background: linear-gradient(to right, 
                rgba(0,0,0,0) 0%, 
                rgba(0,0,0,0.04) 40%, 
                rgba(0,0,0,0.08) 50%, 
                rgba(0,0,0,0.04) 60%, 
                rgba(0,0,0,0) 100%);
            z-index: 10;
            pointer-events: none;
        }
.ref-book .page{
            flex: 1;
            height: 100%;
            position: relative;
        }
.ref-book .page-left{
            border-right: 1px solid var(--border-light);
            padding: 3vw;
            display: flex;
            flex-direction: column;
        }
.ref-book .page-right{
            padding: 4vw 5vw 4vw 4vw;
            display: flex;
            flex-direction: column;
            overflow-y: auto;
            
            scrollbar-width: none; 
        }
.ref-book .page-right::-webkit-scrollbar{ display: none; }
.ref-book .brand-mark{
            font-family: var(--font-display);
            font-size: 14px;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            margin-bottom: 2rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
.ref-book .brand-mark span{
            font-family: var(--font-sans);
            font-size: 9px;
            letter-spacing: 0.1em;
            color: var(--ink-light);
        }
.ref-book .hero-image-container{
            flex: 1;
            width: 100%;
            position: relative;
            background-color: var(--paper-shade);
            overflow: hidden;
            border: 1px solid var(--border-light);
            display: flex;
            flex-direction: column;
        }
.ref-book .hero-image{
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: contrast(1.05) saturate(0.85);
        }
.ref-book .image-caption{
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            padding: 12px 16px;
            background: rgba(243, 242, 238, 0.9);
            backdrop-filter: blur(4px);
            border-top: 1px solid var(--border-light);
            font-family: var(--font-mono);
            font-size: 9px;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            display: flex;
            justify-content: space-between;
        }
.ref-book .over-label{
            font-family: var(--font-sans);
            font-size: 9px;
            text-transform: uppercase;
            letter-spacing: 0.25em;
            color: var(--ink-light);
            margin-bottom: 3rem;
            display: block;
        }
.ref-book .hero-headline{
            font-family: var(--font-display);
            font-size: clamp(3.5rem, 6vw, 5.5rem);
            font-weight: 400;
            line-height: 0.85;
            text-transform: uppercase;
            margin-bottom: 3rem;
            letter-spacing: -0.02em;
        }
.ref-book .hero-headline .italic{
            font-style: italic;
            font-weight: 300;
            text-transform: none;
            font-size: 1.1em;
            display: inline-block;
            transform: translateY(4px);
            padding-right: 8px;
        }
.ref-book .content-split{
            display: flex;
            gap: 4rem;
            margin-bottom: 4rem;
            align-items: flex-start;
        }
.ref-book .body-text{
            flex: 1;
            font-size: 11px;
            line-height: 1.8;
            text-align: justify;
            color: var(--ink);
            font-weight: 400;
        }
.ref-book .body-text::first-line{
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }
.ref-book .signature-block{
            flex: 0 0 120px;
            font-family: var(--font-display);
            font-style: italic;
            font-size: 1.2rem;
            color: var(--ink-light);
            border-left: 1px solid var(--border-dark);
            padding-left: 1.5rem;
        }
.ref-book .section-divider{
            width: 100%;
            height: 1px;
            background-color: var(--border-dark);
            margin: 2rem 0;
            position: relative;
        }
.ref-book .section-divider::before{
            content: "THE INVENTORY";
            position: absolute;
            top: -24px;
            left: 0;
            font-size: 9px;
            letter-spacing: 0.2em;
            color: var(--ink-light);
        }
.ref-book .inventory-table{
            width: 100%;
            display: flex;
            flex-direction: column;
        }
.ref-book .inventory-row{
            display: grid;
            grid-template-columns: 60px 2fr 1.5fr 80px;
            padding: 12px 0;
            border-bottom: 1px solid var(--border-light);
            font-size: 10px;
            align-items: center;
            transition: background-color 0.2s;
            cursor: pointer;
        }
.ref-book .inventory-row:hover{
            background-color: rgba(0,0,0,0.03);
        }
.ref-book .inv-sku{
            font-family: var(--font-mono);
            color: var(--ink-light);
        }
.ref-book .inv-name{
            font-family: var(--font-display);
            font-size: 14px;
            font-style: italic;
            letter-spacing: 0.02em;
        }
.ref-book .inv-specs{
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--ink-light);
            font-size: 9px;
        }
.ref-book .inv-action{
            text-align: right;
            font-family: var(--font-mono);
            font-size: 9px;
            text-transform: uppercase;
            position: relative;
            display: inline-block;
        }
.ref-book .inv-action::after{
            content: "→";
            position: absolute;
            right: -15px;
            opacity: 0;
            transition: all 0.2s;
            transform: translateX(-5px);
        }
.ref-book .inventory-row:hover .inv-action::after{
            opacity: 1;
            transform: translateX(0);
        }
@media  (max-width: 1024px) {.ref-book .hero-headline{ font-size: 3.5rem; }
.ref-book .content-split{ flex-direction: column; gap: 2rem; }
.ref-book .signature-block{ border-left: none; border-top: 1px solid var(--border-dark); padding-left: 0; padding-top: 1rem; }
.ref-book .inventory-row{ grid-template-columns: 50px 1fr 60px; }
.ref-book .inv-specs{ display: none; }}
@media  (max-width: 768px) {.ref-book.folio-wrapper{ width: 100vw; height: 100vh; border-radius: 0; }
.ref-book .page-spread{ flex-direction: column; margin: 0; width: 100%; height: 100%; border-radius: 0; overflow-y: auto; }
.ref-book .binder-backing,.ref-book .tabs-container,.ref-book .gutter{ display: none; }
.ref-book .page{ flex: none; height: auto; }
.ref-book .page-left{ height: 50vh; border-right: none; border-bottom: 1px solid var(--border-dark); }}
.ref-specimen{
            --paper: #F3F2EE;
            --paper-shade: #EAE9E4;
            --ink: #161615;
            --ink-light: #62615a;
            --binder: #282928;
            --binder-dark: #1A1A1A;
            --tab-text: #A0A09C;
            --desk: #111111;
            --accent-gold: #bf8d2c;
            
            --font-display: "Cormorant Garamond", serif;
            --font-sans: "Manrope", sans-serif;
            --font-mono: "JetBrains Mono", monospace;
            
            --border-light: rgba(22, 22, 21, 0.08);
            --border-dark: rgba(22, 22, 21, 0.2);

            --selected-color: #4a5420; 
        }
.ref-specimen *{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            -webkit-font-smoothing: antialiased;
        }
.ref-specimen .folio-wrapper{
            width: 1000px;
            height: 720px;
            display: flex;
            position: relative;
            box-shadow: 0 40px 80px rgba(0,0,0,0.7);
        }
.ref-specimen .binder-backing{
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: var(--binder);
            border-radius: 8px 16px 16px 8px;
            box-shadow: inset -10px 0 30px rgba(0,0,0,0.5);
        }
.ref-specimen .tabs-container{
            position: absolute;
            right: -36px;
            top: 60px;
            display: flex;
            flex-direction: column;
            gap: 4px;
            z-index: 10;
        }
.ref-specimen .tab{
            background-color: var(--binder);
            color: var(--tab-text);
            width: 38px;
            padding: 20px 0;
            writing-mode: vertical-rl;
            text-orientation: mixed;
            transform: rotate(180deg);
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: var(--font-display);
            font-size: 10px;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.3s ease;
            clip-path: polygon(100% 0, 100% 100%, 0 calc(100% - 8px), 0 8px);
        }
.ref-specimen .tab.active{
            color: var(--paper);
            background-color: var(--binder-dark);
            transform: rotate(180deg) translateX(4px);
        }
.ref-specimen .page-spread{
            position: relative;
            z-index: 5;
            display: flex;
            width: calc(100% - 16px);
            height: calc(100% - 12px);
            margin: 6px 0 6px 6px;
            background-color: var(--paper);
            border-radius: 4px 8px 8px 4px;
            overflow: hidden;
            box-shadow: -4px 0 15px rgba(0,0,0,0.3);
        }
.ref-specimen .gutter{
            position: absolute;
            left: 45%; 
            top: 0;
            bottom: 0;
            width: 40px;
            transform: translateX(-50%);
            background: linear-gradient(to right, 
                transparent 0%, 
                rgba(0,0,0,0.03) 40%, 
                rgba(0,0,0,0.08) 50%, 
                rgba(0,0,0,0.03) 60%, 
                transparent 100%);
            z-index: 10;
            pointer-events: none;
        }
.ref-specimen .page-left{
            flex: 0 0 45%;
            padding: 40px;
            display: flex;
            flex-direction: column;
            border-right: 1px solid var(--border-light);
        }
.ref-specimen .brand-header{
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 40px;
        }
.ref-specimen .brand-logo{
            font-family: var(--font-display);
            font-size: 16px;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            display: flex;
            align-items: center;
            gap: 12px;
        }
.ref-specimen .swatch-ring{
            width: 18px;
            height: 18px;
            border-radius: 50%;
            border: 1px solid var(--ink);
            padding: 2px;
        }
.ref-specimen .swatch-inner{
            width: 100%;
            height: 100%;
            border-radius: 50%;
            background-color: var(--selected-color);
        }
.ref-specimen .swatch-display{
            flex-grow: 1;
            background-color: var(--paper-shade);
            border: 1px solid var(--border-light);
            position: relative;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }
.ref-specimen .color-hero{
            flex-grow: 1;
            background-color: var(--selected-color);
            transition: background-color 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }
.ref-specimen .swatch-info{
            padding: 20px;
            background: rgba(243, 242, 238, 0.95);
            backdrop-filter: blur(8px);
            border-top: 1px solid var(--border-light);
        }
.ref-specimen .color-code{
            font-family: var(--font-mono);
            font-size: 24px;
            color: var(--ink);
            margin-bottom: 4px;
        }
.ref-specimen .color-meta{
            font-family: var(--font-sans);
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            color: var(--ink-light);
        }
.ref-specimen .page-right{
            flex: 1;
            padding: 48px 60px;
            display: flex;
            flex-direction: column;
            position: relative;
        }
.ref-specimen .over-label{
            font-family: var(--font-sans);
            font-size: 9px;
            text-transform: uppercase;
            letter-spacing: 0.25em;
            color: var(--ink-light);
            margin-bottom: 12px;
        }
.ref-specimen .section-title{
            font-family: var(--font-display);
            font-size: 42px;
            font-weight: 400;
            line-height: 1;
            margin-bottom: 40px;
        }
.ref-specimen .inventory-list{
            flex-grow: 1;
            margin-bottom: 60px;
        }
.ref-specimen .inventory-item{
            display: grid;
            grid-template-columns: 80px 1fr 100px 60px;
            padding: 14px 0;
            border-bottom: 1px solid var(--border-light);
            font-size: 11px;
            align-items: center;
            cursor: pointer;
            transition: all 0.2s ease;
        }
.ref-specimen .inventory-item:hover{
            background-color: rgba(0,0,0,0.02);
            padding-left: 8px;
        }
.ref-specimen .inv-sku{
            font-family: var(--font-mono);
            color: var(--ink-light);
            font-size: 10px;
        }
.ref-specimen .inv-name{
            font-family: var(--font-display);
            font-size: 15px;
            font-style: italic;
        }
.ref-specimen .inv-chip{
            width: 40px;
            height: 12px;
            border-radius: 2px;
        }
.ref-specimen .inv-hex{
            font-family: var(--font-mono);
            text-align: right;
            color: var(--ink-light);
        }
.ref-specimen.timeline-container{
            margin-top: auto;
            padding-top: 24px;
            border-top: 1px solid var(--border-dark);
        }
.ref-specimen .timeline-label{
            font-family: var(--font-mono);
            font-size: 9px;
            font-weight: 600;
            color: var(--ink-light);
            margin-bottom: 20px;
            letter-spacing: 0.1em;
            display: flex;
            justify-content: space-between;
        }
.ref-specimen .scrubber-track{
            position: relative;
            height: 32px;
            display: flex;
            align-items: center;
        }
.ref-specimen .tick-marks{
            position: absolute;
            width: 100%;
            height: 6px;
            background-image: repeating-linear-gradient(
                to right,
                var(--border-dark) 0px,
                var(--border-dark) 1px,
                transparent 1px,
                transparent 16px
            );
        }
.ref-specimen .playhead{
            position: absolute;
            left: 65%;
            height: 40px;
            width: 2px;
            background-color: var(--accent-gold);
            z-index: 5;
            cursor: ew-resize;
        }
.ref-specimen .playhead::after{
            content: "";
            position: absolute;
            bottom: -6px;
            left: 50%;
            transform: translateX(-50%);
            border-left: 6px solid transparent;
            border-right: 6px solid transparent;
            border-top: 6px solid var(--accent-gold);
        }
.ref-specimen .playhead-label{
            position: absolute;
            top: -16px;
            left: 50%;
            transform: translateX(-50%);
            font-family: var(--font-mono);
            font-size: 9px;
            color: var(--accent-gold);
            white-space: nowrap;
        }
.ref-specimen .timeline-values{
            display: flex;
            justify-content: space-between;
            font-family: var(--font-mono);
            font-size: 8px;
            color: var(--ink-light);
            margin-top: 10px;
        }
.ref-transcript{
            
            --bg-base: #f5f4f0;
            --bg-surface: #e9e8e2;
            --bg-surface-hover: #dfded6;
            --bg-input: #ffffff;
            
            --text-main: #242424;
            --text-muted: #62615a;
            --text-dark: #8e8d83;
            
            --hl-green-bg: #e6edd1;
            --hl-green-text: #4a5420;
            --hl-blue-bg: #e1edf5;
            --hl-blue-text: #2d5066;
            
            --accent-yellow: #bf8d2c;
            --line-color: rgba(0, 0, 0, 0.06);
            --border-color: #dcdbd3;

            
            --font-sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
            --font-mono: "JetBrains Mono", "SF Mono", "Roboto Mono", monospace;
            
            
            --rhythm: 44px; 
        }
.ref-transcript *{
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }
.ref-transcript header{
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 16px 24px;
            background-color: var(--bg-base);
            border-bottom: 1px solid var(--border-color);
            height: 64px;
            flex-shrink: 0;
            z-index: 10;
        }
.ref-transcript .header-left{
            display: flex;
            align-items: center;
            gap: 16px;
        }
.ref-transcript .logo-placeholder{
            width: 24px;
            height: 24px;
            border-radius: 50%;
            background: linear-gradient(135deg, var(--accent-yellow), #e74c3c, #89bcdb);
            position: relative;
            box-shadow: inset 0 0 0 2px var(--bg-base);
        }
.ref-transcript .logo-placeholder::after{
            content: "";
            position: absolute;
            inset: 4px;
            border-radius: 50%;
            background-color: var(--bg-base);
        }
.ref-transcript .breadcrumbs{
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 14px;
            color: var(--text-muted);
        }
.ref-transcript .breadcrumbs span:last-child{
            color: var(--text-main);
            font-weight: 500;
        }
.ref-transcript .header-right{
            display: flex;
            align-items: center;
            gap: 12px;
        }
.ref-transcript .search-bar{
            display: flex;
            align-items: center;
            background-color: var(--bg-surface);
            border-radius: 6px;
            padding: 6px 12px;
            width: 240px;
            border: 1px solid var(--border-color);
            transition: border-color 0.2s;
        }
.ref-transcript .search-bar:focus-within{
            border-color: var(--accent-yellow);
        }
.ref-transcript .search-bar svg{
            width: 14px;
            height: 14px;
            fill: var(--text-muted);
            margin-right: 8px;
        }
.ref-transcript .search-bar input{
            background: none;
            border: none;
            color: var(--text-main);
            font-family: inherit;
            font-size: 13px;
            width: 100%;
            outline: none;
        }
.ref-transcript .search-bar input::placeholder{
            color: var(--text-muted);
        }
.ref-transcript .icon-btn{
            background-color: var(--bg-surface);
            border: 1px solid var(--border-color);
            width: 32px;
            height: 32px;
            border-radius: 4px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            color: var(--text-muted);
            transition: background-color 0.2s, color 0.2s;
        }
.ref-transcript .icon-btn:hover{
            background-color: var(--bg-surface-hover);
            color: var(--text-main);
        }
.ref-transcript .icon-btn svg{
            width: 16px;
            height: 16px;
            fill: currentColor;
        }
.ref-transcript.transcript-container{
            flex-grow: 1;
            overflow-y: auto;
            position: relative;
            
            background-image: repeating-linear-gradient(
                to bottom,
                transparent 0px,
                transparent calc(var(--rhythm) - 1px),
                var(--line-color) calc(var(--rhythm) - 1px),
                var(--line-color) var(--rhythm)
            );
            background-attachment: local; 
            padding-bottom: 160px; 
        }
.ref-transcript .content-wrapper{
            max-width: 900px;
            margin: 0 auto;
            padding-top: var(--rhythm); 
        }
.ref-transcript .segment{
            display: grid;
            grid-template-columns: 40px 180px 1fr;
            gap: 16px;
            margin-bottom: calc(var(--rhythm) * 1);
            position: relative;
        }
.ref-transcript .segment::before{
            content: "";
            position: absolute;
            left: -20px;
            right: -20px;
            top: 0;
            bottom: 0;
            background-color: rgba(0,0,0,0.02);
            opacity: 0;
            transition: opacity 0.2s;
            pointer-events: none;
            border-radius: 8px;
        }
.ref-transcript .segment:hover::before{
            opacity: 1;
        }
.ref-transcript .segment-num{
            font-family: var(--font-mono);
            font-size: 11px;
            color: var(--text-dark);
            text-align: right;
            padding-top: calc((var(--rhythm) - 16px) / 2); 
        }
.ref-transcript .segment-meta{
            display: flex;
            align-items: flex-start;
            gap: 12px;
            padding-top: calc((var(--rhythm) - 18px) / 2);
        }
.ref-transcript .meta-details{
            display: flex;
            flex-direction: column;
            gap: 2px;
        }
.ref-transcript .meta-title{
            font-size: 13px;
            font-weight: 600;
            color: var(--text-main);
            display: flex;
            align-items: center;
            gap: 4px;
        }
.ref-transcript .meta-title svg{
            width: 12px;
            height: 12px;
            fill: var(--text-muted);
        }
.ref-transcript .meta-subtitle{
            font-size: 12px;
            color: var(--text-muted);
        }
.ref-transcript .play-indicator{
            width: 20px;
            height: 20px;
            border-radius: 4px;
            background-color: var(--bg-surface);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            cursor: pointer;
            color: var(--text-muted);
            border: 1px solid var(--border-color);
        }
.ref-transcript .play-indicator svg{
            width: 10px;
            height: 10px;
            fill: currentColor;
            margin-left: 2px;
        }
.ref-transcript .segment:hover .play-indicator{
            background-color: var(--bg-surface-hover);
            color: var(--text-main);
        }
.ref-transcript .segment-text{
            font-size: 17px;
            line-height: var(--rhythm);
            color: var(--text-muted);
            letter-spacing: 0.2px;
            
            padding-top: 1px; 
        }
.ref-transcript .segment-text p{
            margin: 0; 
            display: inline; 
        }
.ref-transcript .hl-green,.ref-transcript .hl-blue{
            display: inline;
            box-decoration-break: clone;
            -webkit-box-decoration-break: clone;
            
            padding: 2px 4px;
            border-radius: 2px;
            margin: 0 -4px; 
        }
.ref-transcript .hl-green{
            background-color: var(--hl-green-bg);
            color: var(--hl-green-text);
        }
.ref-transcript .hl-blue{
            background-color: var(--hl-blue-bg);
            color: var(--hl-blue-text);
        }
.ref-transcript .text-active{
            color: var(--text-main);
        }
.ref-transcript .timeline-dock{
            position: fixed;
            bottom: 32px;
            left: 50%;
            transform: translateX(-50%);
            width: calc(100% - 64px);
            max-width: 1000px;
            background-color: var(--bg-surface);
            border-radius: 12px;
            padding: 20px 24px;
            box-shadow: 0 12px 32px rgba(0,0,0,0.1), inset 0 1px 0 rgba(255,255,255,0.8);
            display: flex;
            flex-direction: column;
            gap: 20px;
            z-index: 20;
            border: 1px solid var(--border-color);
        }
.ref-transcript .timeline-controls{
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
.ref-transcript .controls-left,.ref-transcript .controls-right{
            display: flex;
            align-items: center;
            gap: 16px;
            width: 100px; 
        }
.ref-transcript .controls-right{
            justify-content: flex-end;
        }
.ref-transcript .time-display{
            font-family: var(--font-mono);
            font-size: 18px;
            color: var(--text-main);
            font-weight: 500;
            display: flex;
            align-items: center;
            gap: 12px;
        }
.ref-transcript .time-display span:last-child{
            color: var(--text-dark);
        }
.ref-transcript .play-btn-large{
            color: var(--text-main);
            cursor: pointer;
            display: flex;
            align-items: center;
        }
.ref-transcript .play-btn-large svg{
            width: 20px;
            height: 20px;
            fill: currentColor;
        }
.ref-transcript .scrubber-area{
            position: relative;
            height: 24px;
            width: 100%;
        }
.ref-transcript .tick-marks{
            position: absolute;
            top: 10px;
            left: 0;
            right: 0;
            height: 4px;
            
            background-image: repeating-linear-gradient(
                to right,
                var(--border-color) 0px,
                var(--border-color) 1px,
                transparent 1px,
                transparent 20px 
            );
            opacity: 1;
        }
.ref-transcript .tick-labels{
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            display: flex;
            justify-content: space-between;
            font-family: var(--font-mono);
            font-size: 10px;
            color: var(--text-muted);
            padding: 0 2px;
        }
.ref-transcript .tick-labels span{
            transform: translateX(-50%);
        }
.ref-transcript .tick-labels span:first-child{ transform: none; }
.ref-transcript .tick-labels span:last-child{ transform: translateX(-100%); }
.ref-transcript .playhead{
            position: absolute;
            top: -2px;
            left: 45%; 
            height: 28px;
            width: 2px;
            background-color: var(--accent-yellow);
            z-index: 2;
        }
.ref-transcript .playhead::after{
            content: "";
            position: absolute;
            bottom: -4px;
            left: 50%;
            transform: translateX(-50%);
            border-left: 5px solid transparent;
            border-right: 5px solid transparent;
            border-top: 5px solid var(--accent-yellow);
        }
.ref-transcript .playhead-label{
            position: absolute;
            top: -18px;
            left: 50%;
            transform: translateX(-50%);
            font-family: var(--font-mono);
            font-size: 10px;
            color: var(--accent-yellow);
            font-weight: bold;
        }
.ref-transcript .transcript-container::-webkit-scrollbar{
            width: 8px;
        }
.ref-transcript .transcript-container::-webkit-scrollbar-track{
            background: transparent;
        }
.ref-transcript .transcript-container::-webkit-scrollbar-thumb{
            background-color: var(--border-color);
            border-radius: 4px;
        }
.dorms-folio{
 --paper:#F3F2EE;--paper-shade:#EAE9E4;--ink:#161615;--ink-light:#62615a;--binder:#282928;--binder-dark:#1A1A1A;--tab-text:#A0A09C;--desk:#111111;--accent-gold:#bf8d2c;
 --border-light:rgba(22,22,21,.12);--border-dark:rgba(22,22,21,.25);--sage-bg:#e6edd1;--sage-ink:#4a5420;--blue-bg:#e1edf5;--blue-ink:#2d5066;--gold-bg:#f0e3c9;--gold-ink:#71501b;--surface:#faf9f6;
 --font-sans:'Manrope','SUIT Variable','NanumBarunGothic','Noto Sans CJK KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
 --font-display:'Cormorant Garamond','MaruBuri','NanumMyeongjo','Noto Serif CJK KR',serif;
 --font-mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;
 min-height:100vh;color:var(--ink);background:var(--paper);font-family:var(--font-sans);font-size:var(--reading-size,16px);line-height:1.65;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;
}
.dorms-folio *{box-sizing:border-box}
.dorms-folio h1,.dorms-folio h2,.dorms-folio h3,.dorms-folio p{margin:0}
.dorms-folio button,.dorms-folio input,.dorms-folio textarea,.dorms-folio select{font:inherit;color:inherit}
.dorms-folio button{cursor:pointer}
.dorms-folio button:disabled{cursor:not-allowed;opacity:.45}
.dorms-folio input,.dorms-folio textarea,.dorms-folio select{min-width:0;background:var(--surface);border:1px solid var(--border-dark);border-radius:6px;padding:11px 13px;line-height:1.55}
.dorms-folio textarea{resize:vertical;max-width:100%}
.dorms-folio input::placeholder,.dorms-folio textarea::placeholder{color:var(--ink-light);opacity:1}
.dorms-folio input[type=checkbox],.dorms-folio input[type=radio]{accent-color:var(--sage-ink);width:17px;height:17px;flex-shrink:0}
.dorms-folio input[type=range]{accent-color:var(--sage-ink);padding:0;cursor:pointer;min-height:30px}
.dorms-folio svg{flex-shrink:0}
.dorms-folio :is(button,input,textarea,select,a,[tabindex]):focus-visible{outline:3px solid var(--accent-gold);outline-offset:4px}
.dorms-folio code{font-family:var(--font-mono);font-size:.77em;padding:4px 6px;border:1px solid var(--border-light);border-radius:4px;background:var(--paper-shade);font-weight:400;white-space:normal}
.dorms-folio pre{font-size:13px;font-family:var(--font-mono);line-height:1.75;white-space:pre-wrap;overflow:auto;max-height:300px;word-break:break-all;overflow-wrap:break-word;background:var(--paper-shade);padding:18px;border-radius:8px}
.dorms-folio .action{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 16px;border-radius:6px;border:1px solid var(--border-dark);background:transparent;color:var(--ink);font-weight:600;font-size:14px;line-height:1.4;text-decoration:none;transition:background .15s}
.dorms-folio .action:hover:not(:disabled){background:var(--paper-shade)}
.dorms-folio .action.primary{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:0 2px 0 rgba(0,0,0,.07)}
.dorms-folio .action.primary:hover:not(:disabled){filter:brightness(.85);background:var(--ink)}
.dorms-folio .action small{font-family:var(--font-mono);font-size:11px;opacity:.8;margin-left:6px}
.dorms-folio .icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:6px;background:transparent;border:1px solid var(--border-light);color:var(--ink-light)}
.dorms-folio .icon-btn:hover{background:var(--paper-shade);color:var(--ink)}
.site-header{height:80px;border-bottom:1px solid var(--border-light);padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--paper)}
.site-header .header-left,.site-header .header-right{display:flex;align-items:center;gap:24px;min-width:0}
.site-header .header-right{gap:10px}
.site-header .brand-logo{font-family:var(--font-display);font-size:27px;font-weight:600;letter-spacing:-.04em;display:flex;align-items:center;gap:12px;border:0;background:none;padding:0;color:var(--ink)}
.breadcrumbs{display:flex;gap:12px;align-items:center;color:var(--ink-light);font-size:13px}
.breadcrumbs button{border:0;background:none;padding:6px 0;font-size:13px}
.breadcrumbs strong{color:var(--ink);font-weight:500}
.viewer-chip{display:flex;align-items:center;gap:8px;margin-left:8px;font-size:12px;white-space:nowrap}
.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;font-size:11px;font-weight:700;background:var(--paper-shade);color:var(--ink);border:1px solid var(--border-light);font-family:var(--font-sans)}
.avatar.large{width:38px;height:38px;font-size:14px}
.avatar.olive{background:var(--sage-bg);color:var(--sage-ink)}
.avatar.gold{background:var(--gold-bg);color:var(--gold-ink)}
.avatar.blue{background:var(--blue-bg);color:var(--blue-ink)}
.avatar.ink{background:var(--binder);color:#f3f2ee}
.avatar-stack{display:flex;padding-left:0}
.avatar-stack .avatar+.avatar{margin-left:-6px;box-shadow:0 0 0 2px var(--paper)}
.dorms-folio .badge{display:inline-flex;align-items:center;border-radius:4px;padding:4px 8px;font:600 11px/1.4 var(--font-sans);background:var(--paper-shade);color:var(--ink-light);white-space:nowrap;letter-spacing:0}
.dorms-folio .badge.sage{background:var(--sage-bg);color:var(--sage-ink)}
.dorms-folio .badge.gold{background:var(--gold-bg);color:var(--gold-ink)}
.dorms-folio .badge.blue{background:var(--blue-bg);color:var(--blue-ink)}
.dorms-folio .eyebrow,.dorms-folio .over-label{font:500 10px/1.5 var(--font-sans);letter-spacing:.18em;color:var(--ink-light);text-transform:uppercase;display:block}
.folio-stage{width:calc(100% - 148px);max-width:1310px;margin:0 auto;padding:24px 0 0}
.workspace-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:16px;font-size:12px;color:var(--ink-light)}
.workspace-meta>div{display:flex;align-items:center;gap:7px}
.back-link{border:0;background:transparent;color:var(--ink-light);font-size:12px;display:inline-flex;gap:9px;align-items:center;padding:3px 0}
.back-link:hover{color:var(--ink)}
.status-dot{width:5px;height:5px;border-radius:50%;background:var(--sage-ink)}
/* Ref 2: the original folio, backing, page spread and gutter remain the frame. */
.ref-book.folio-wrapper{--paper:inherit;--paper-shade:inherit;--ink:inherit;--ink-light:inherit;--binder:inherit;--binder-dark:inherit;--tab-text:inherit;--desk:inherit;--font-display:inherit;--font-sans:inherit;--font-mono:inherit;--border-light:inherit;--border-dark:inherit;width:100%;max-width:none;height:calc(100dvh - 202px);min-height:752px;max-height:1000px;display:flex;position:relative;align-items:stretch;justify-content:normal;overflow:visible;background:none;background-image:none;border-radius:6px 12px 12px 6px;box-shadow:0 26px 50px rgba(35,31,22,.13),0 4px 9px rgba(35,31,22,.07)}
.ref-book .binder-backing{background:var(--binder);border-radius:4px 12px 12px 4px}
.ref-book .page-spread{width:calc(100% - 18px);height:calc(100% - 12px);margin:6px 0 6px 6px;background:var(--paper);display:flex;border-radius:2px 7px 7px 2px}
.ref-book .gutter{left:44%;width:30px;z-index:5}
.ref-book .page{min-width:0;font-family:var(--font-sans)}
.ref-book .page-left{flex:0 0 44%;padding:26px 32px 18px;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;gap:0;border-right:1px solid var(--border-light);background:linear-gradient(90deg,transparent 94%,rgba(0,0,0,.012))}
.ref-book .page-right{flex:1;display:flex;flex-direction:column;padding:0;overflow:visible;position:relative}
.chapter-scroll{overflow:auto;flex:1;min-height:0;padding:39px 42px 24px;scrollbar-width:thin;scrollbar-color:var(--border-dark) transparent}
.ref-book .brand-mark{font:500 10px/1.5 var(--font-sans);letter-spacing:.15em;text-transform:uppercase;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center;color:var(--ink-light)}
.ref-book .brand-mark span{font:inherit;letter-spacing:inherit;color:inherit}
.result-titleline{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;color:var(--ink-light);font-size:12px;gap:12px}
.result-titleline code{font-size:11px}
.ref-book .tabs-container{right:-48px;top:30px;gap:7px;display:flex;flex-direction:column;z-index:12}
.ref-book .tab{width:50px;min-height:101px;padding:13px 10px;gap:8px;writing-mode:horizontal-tb;transform:none;background:var(--binder);color:#d0d0c9;border:0;border-left:1px solid rgba(255,255,255,.06);border-radius:0;font-family:var(--font-sans);font-size:14px;letter-spacing:0;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 7px) 100%,0 100%);display:flex;flex-direction:column;box-shadow:none;transition:background .15s}
.ref-book .tab strong{font-weight:500;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:3px;line-height:1}
.ref-book .tab>span{font:10px var(--font-mono);opacity:.75}
.ref-book .tab:hover,.ref-book .tab.active{transform:none;background:var(--binder-dark);color:#f3f2ee}
.ref-book .tab.active{box-shadow:inset 3px 0 0 var(--accent-gold)}
.index-notification{width:5px;height:5px;background:var(--accent-gold);border-radius:50%}
.ref-book .folio-actions{padding:20px 34px;flex-shrink:0;border-top:1px solid var(--border-light);display:flex;align-items:center;gap:10px;background:var(--paper);min-height:86px}
.page-number{font:10px var(--font-mono);letter-spacing:.12em;color:var(--ink-light);margin-top:auto;padding-top:16px}
.folio-actions .page-number{margin:0 0 0 auto;padding:0;white-space:nowrap;font-size:9px}
.ref-book .hero-headline{font-family:var(--font-display);font-weight:600;font-size:clamp(30px,2.7vw,40px);line-height:1.35;margin:24px 0 24px;letter-spacing:-.045em;text-transform:none;color:var(--ink)}
.ref-book .content-split{display:block;margin-bottom:26px}
.ref-book .body-text{font-family:var(--font-sans);font-size:var(--reading-size);line-height:1.85;text-align:left;color:var(--ink);font-weight:400}
.ref-book .body-text::first-line{letter-spacing:normal;text-transform:none}
.dorms-folio .hl-green{background:var(--sage-bg);color:var(--sage-ink);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:2px 4px;border-radius:2px}
.dorms-folio .hl-blue{background:var(--blue-bg);color:var(--blue-ink);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:2px 4px;border-radius:2px}
.education-context{display:grid;gap:21px}
.education-context h3{font-size:14px;margin-bottom:7px!important;font-weight:700;letter-spacing:-.015em}
.education-context p{font-size:calc(var(--reading-size) - 1px);line-height:1.85;color:var(--ink-light)}
.main-note{display:flex;gap:12px;border-block:1px solid var(--border-light);padding:18px 0;margin-top:26px}
.main-note>svg{margin-top:3px;color:var(--sage-ink)}
.main-note strong{font-size:13px;font-weight:600}
.main-note p{font-size:12px;line-height:1.8;color:var(--ink-light);margin-top:5px!important}
.intro-people{display:flex;align-items:center;gap:12px;padding-top:22px;font-size:11px;color:var(--ink-light)}
.intro-people b{font-weight:500;color:var(--ink)}
.intro-people .text-action{margin-left:auto}
.dorms-folio .text-action{border:0;background:none;display:inline-flex;gap:5px;align-items:center;padding:7px 0;font-size:12px;color:var(--ink)}
.text-action:hover{text-decoration:underline;text-underline-offset:4px}
/* Result card: stationary footprint, local flip only, never auto-advancing. */
.artifact-shell{perspective:1300px;position:relative;width:100%;max-width:510px;align-self:center;color:var(--ink)}
.artifact-inner{position:relative;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1);height:396px;width:100%}
.artifact-inner.turned{transform:rotateY(180deg)}
.artifact-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:12px;overflow:hidden;background:var(--surface);border:1px solid var(--border-dark);box-shadow:0 8px 20px rgba(22,22,21,.07);display:flex;flex-direction:column}
.plate-header{display:flex;align-items:center;justify-content:space-between;padding:13px 19px;border-bottom:1px solid var(--border-light);font-size:10px;letter-spacing:.13em;color:var(--ink-light);min-height:47px;background:var(--surface)}
.plate-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 20px;background:var(--surface);border-top:1px solid var(--border-light);color:var(--ink)}
.plate-footer h3{font-family:var(--font-display);font-size:23px;line-height:1.25;font-weight:600;letter-spacing:-.02em}
.plate-footer p{font-size:11px;color:var(--ink-light);margin-top:7px!important}
.plate-footer>svg{opacity:.4}
.artifact-back{transform:rotateY(180deg);padding:0 24px 22px;background:var(--sage-bg);color:var(--sage-ink)}
.artifact-back .plate-header{margin:0 -24px 22px;background:transparent;color:var(--sage-ink);border-color:rgba(74,84,32,.18)}
.artifact-back h3{font-family:var(--font-display);font-size:27px;margin-bottom:12px!important;font-weight:600}
.artifact-back>p{font-size:15px;line-height:1.85}
.back-source{border-top:1px solid rgba(74,84,32,.2);padding-top:17px;margin-top:20px;display:flex;flex-direction:column;gap:6px}
.back-source>span,.back-credit>span{font-size:11px;opacity:.9}
.back-source strong{font-size:14px}
.back-credit{display:flex;flex-direction:column;gap:8px;margin-top:17px}
.back-credit>div{display:flex;align-items:center;gap:5px}
.back-credit small{font-size:11px;margin-left:6px}
.artifact-back .tiny{font-size:10px;line-height:1.7;margin-top:auto!important;padding-top:12px;color:var(--sage-ink)}
.artifact-utilities{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:33px;padding:6px 0}
.artifact-utilities button{border:0;background:none;font-size:11px;display:flex;align-items:center;gap:6px;color:var(--ink-light);padding:5px 0;min-height:30px}
.preview-open{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 22px}
.preview-open>span{font-size:10px;color:var(--ink-light)}
.preview-open .action{font-size:12px;min-height:38px;padding:8px 14px}
.app-preview{background:var(--paper-shade);padding:15px 18px;color:var(--ink);position:relative;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
.preview-topline,.preview-bottomline{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.08em;color:var(--ink-light);line-height:1.5;gap:12px}
.preview-instruction{font-size:12px;text-align:center;line-height:1.6;margin:14px auto 10px;max-width:320px;color:var(--ink)}
.blackboard{font-size:9px;text-align:center;color:var(--sage-ink);background:var(--sage-bg);border:1px solid rgba(74,84,32,.18);border-radius:3px;max-width:165px;margin:0 auto 10px;width:75%;padding:4px;letter-spacing:.1em}
.seats{width:80%;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:7px 15px;padding:0 6px 9px}
.seats.groups{grid-template-columns:repeat(4,1fr);gap:8px 5px}
.seats.groups .seat:nth-child(4n+2){margin-right:12px}
.seat{display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:transparent;color:var(--ink-light);padding:1px;font-size:10px}
.seat-desk{width:39px;height:17px;border-radius:4px;background:var(--surface);box-shadow:0 1px 0 var(--border-dark);border:1px solid var(--border-dark);position:relative}
.seat-desk:after{content:'';position:absolute;left:50%;bottom:-5px;transform:translateX(-50%);width:17px;height:6px;border-radius:2px;background:var(--sage-ink);opacity:.5}
.seat small{font-size:8px;margin-top:4px;font-family:var(--font-mono)}
.seat.chosen .seat-desk{background:var(--gold-bg);border-color:var(--accent-gold)}
.preview-bottomline{margin-top:auto;padding-top:9px}
.preview-demo-actions{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;margin-top:15px}
.preview-demo-actions small{font-size:12px;color:var(--ink-light)}
.question-samples{display:grid;gap:9px;margin:6px 0 16px}
.question-samples>div{background:var(--surface);padding:13px;display:flex;gap:12px;align-items:center;border-left:2px solid var(--sage-ink)}
.question-samples>div>span{font:9px var(--font-mono);color:var(--ink-light)}
.question-samples p{font-size:12px;line-height:1.8}
.question-samples form{display:flex;flex-wrap:wrap;gap:8px}
.question-samples form input{flex:1}
.observation-sample{display:grid;gap:11px}
.observation-sample>label{font-size:11px;display:grid;grid-template-columns:20px 1fr;gap:5px 8px;align-items:center}
.observation-sample label>span{font:9px var(--font-mono);color:var(--ink-light)}
.observation-sample textarea,.writing-lines{grid-column:2}
.writing-lines{height:29px;background:repeating-linear-gradient(transparent 0 13px,var(--border-light) 13px 14px)}
/* Ref 3: selectable inventory rows; the selected object drives the left page. */
.ref-specimen{--font-display:inherit;--font-sans:inherit;--font-mono:inherit;--ink:inherit;--ink-light:inherit;--border-light:inherit;--border-dark:inherit;--paper:inherit;--paper-shade:inherit;--accent-gold:inherit;color:var(--ink)}
.version-inventory{border-top:1px solid var(--border-dark);padding-top:13px}
.inventory-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;margin-bottom:7px;font-weight:600}
.inventory-heading small{font-size:9px;color:var(--ink-light);font-weight:400}
.ref-specimen .inventory-list{margin-bottom:0}
.ref-specimen .inventory-item{width:100%;background:transparent;border:0;border-bottom:1px solid var(--border-light);display:grid;grid-template-columns:27px minmax(0,1fr) 18px 54px;gap:6px;align-items:center;padding:12px 0;text-align:left;color:var(--ink);min-height:46px}
.ref-specimen .inventory-item:hover{padding-left:0;background:var(--paper-shade)}
.ref-specimen .inventory-item.selected{background:var(--sage-bg);padding-inline:8px;border-radius:4px}
.ref-specimen .inv-sku{font-size:10px;color:var(--ink-light)}
.ref-specimen .inv-name{font-family:var(--font-sans);font-size:13px;font-style:normal;font-weight:500}
.ref-specimen .inv-chip{width:15px;height:7px;border-radius:1px;background:var(--sage-ink)}
.ref-specimen .inv-chip.blue{background:var(--blue-ink)}
.ref-specimen .inv-hex{font-size:10px;color:var(--ink-light);text-align:right}
/* All chapters share one reading scale. */
.chapter{color:var(--ink);font-family:var(--font-sans)}
.chapter>h2{font-family:var(--font-display);font-size:30px;font-weight:600;letter-spacing:-.035em;line-height:1.3;margin:18px 0 13px}
.chapter .lead,.modal-panel .lead{font-size:var(--reading-size);line-height:1.85;color:var(--ink-light);margin-bottom:24px}
.dorms-folio .caption{font-size:12px;color:var(--ink-light);line-height:1.85;margin:14px 0}
.dorms-folio .tiny{font-size:11px;color:var(--ink-light);line-height:1.85;margin-top:12px}
.dorms-folio .quiet-details{padding:14px 0;border-top:1px solid var(--border-light);margin-top:22px;font-size:13px;line-height:1.85}
.quiet-details summary{cursor:pointer;font-weight:600;min-height:32px;color:var(--ink)}
.quiet-details p{margin-top:12px!important;color:var(--ink-light)}
.stack{display:grid;gap:12px;margin-top:12px}
.room-select{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 15px}
.room-select select{min-height:40px;font-size:13px;padding:7px 10px;max-width:70%}
/* Ref 1: transcript + metadata + restrained semantic highlights. */
.ref-transcript.transcript-container{--rhythm:32px;--text-main:var(--ink);--text-muted:var(--ink-light);--text-dark:var(--ink-light);--line-color:var(--border-light);--font-sans:inherit;--font-mono:inherit;padding:0;overflow:visible;background-image:none}
.ref-transcript .segment{grid-template-columns:85px 1fr;gap:14px;margin-bottom:22px;position:relative;padding:14px 0;border-bottom:1px solid var(--border-light)}
.ref-transcript .segment-meta{display:flex;flex-direction:column;padding-top:2px;gap:8px}
.ref-transcript .meta-title{font-size:12px;color:var(--ink)}
.ref-transcript .meta-subtitle{font-size:10px;color:var(--ink-light)}
.ref-transcript .segment-text{font-size:var(--reading-size);line-height:1.85;color:var(--ink);letter-spacing:0;padding-top:0}
.ref-transcript .segment-text p{display:block}
.ref-transcript .segment:before{inset:0 -8px}
.message-links{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:12px;font-size:10px;line-height:1.5}
.message-links button{font-size:11px;background:transparent;border:0;border-bottom:1px solid var(--border-light);padding:4px 0;color:var(--ink-light);min-height:30px}
.message-links .hl-green,.message-links .hl-blue{font-size:10px;margin-right:4px;padding:3px 5px}
.reply-context{font-size:11px;color:var(--ink-light);display:flex;justify-content:space-between;gap:15px;margin-bottom:8px}
.reply-context button{background:none;border:0;font-size:11px;text-decoration:underline}
.composer{border:1px solid var(--border-dark);border-radius:8px;background:var(--surface);padding:14px;margin-top:18px}
.composer textarea{border:0;padding:0;width:100%;font-size:var(--reading-size);background:transparent;line-height:1.85;min-height:84px}
.composer>div{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--border-light);padding-top:12px;margin-top:8px}
.composer small{font-size:10px;color:var(--ink-light);line-height:1.7;max-width:190px}
.composer .action{font-size:12px;padding:9px 12px;min-height:39px}
.empty-inline{padding:22px 0;font-size:15px;color:var(--ink-light)}
.mini-lineage{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:18px 0 25px;border-bottom:1px solid var(--border-light);margin-bottom:8px}
.mini-lineage button{border:0;background:transparent;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:8px;color:var(--ink-light);position:relative;min-width:75px;max-width:130px;text-align:left}
.mini-lineage button.selected{background:var(--sage-bg);color:var(--sage-ink);border-radius:4px}
.lineage-dot{width:7px;height:7px;border-radius:50%;border:2px solid var(--sage-ink);margin-bottom:2px}
.mini-lineage small{font:10px var(--font-mono)}
.mini-lineage strong{font-size:11px;font-weight:500;line-height:1.5}
.lineage-stem{width:18px;height:1px;background:var(--border-dark)}
.history-list{display:flex;flex-direction:column}
.history-entry{display:flex;gap:14px;text-align:left;border:0;background:transparent;padding:20px 0;border-bottom:1px solid var(--border-light);color:var(--ink)}
.history-symbol{padding-top:2px;color:var(--sage-ink)}
.history-entry strong{font-size:15px;font-weight:600}
.history-entry p{font-size:14px;line-height:1.85;color:var(--ink-light);margin:8px 0!important}
.history-entry small{font-size:11px;color:var(--ink-light)}
.ref-specimen.timeline-container{margin:24px 0;padding-top:19px;border-top:1px solid var(--border-dark)}
.ref-specimen .timeline-label{font:10px/1.5 var(--font-sans);letter-spacing:.06em;color:var(--ink-light);margin-bottom:14px}
.ref-specimen .scrubber-track{height:34px;margin:0 10px 0 2px;position:relative}
.ref-specimen .tick-marks{background-image:repeating-linear-gradient(to right,var(--border-dark) 0 1px,transparent 1px 16px)}
.history-tick{position:absolute;top:3px;border:0;background:transparent;width:20px;height:30px;padding:0;transform:translateX(-50%)}
.history-tick span{height:20px;width:2px;background:var(--ink-light);display:block;margin:auto}
.history-tick.active span{height:32px;background:var(--accent-gold);width:3px}
.ref-specimen .timeline-values{font:10px var(--font-sans);color:var(--ink-light);letter-spacing:0}
.credit-total{display:flex;align-items:center;gap:18px;margin:26px 0 20px}
.credit-total>strong{font:600 56px/1 var(--font-display)}
.credit-total>div{font-size:12px;color:var(--ink-light);line-height:1.8}
.credit-total b{font-weight:500;color:var(--ink)}
.credit-strip{height:12px;display:flex;gap:2px;border-radius:2px;overflow:hidden;margin-bottom:20px}
.credit-strip button{padding:0;min-width:0;border:0;transition:filter .2s}
.credit-strip .olive{background:#4a5420}.credit-strip .gold{background:#bf8d2c}.credit-strip .blue{background:#2d5066}.credit-strip .ink{background:#282928}
.contributors{display:grid;gap:4px}
.contributor{display:flex;align-items:center;gap:12px;border:0;background:transparent;width:100%;padding:11px 4px;color:var(--ink);text-align:left;border-radius:4px}
.contributor:hover,.contributor.selected{background:var(--paper-shade)}
.contributor>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:3px}
.contributor strong{font-size:14px;font-weight:600}
.contributor small{font-size:11px;color:var(--ink-light)}
.contributor>b{font:500 25px var(--font-display)}
.contributor>b small{font:12px var(--font-sans);margin-left:3px}
.evidence-list{display:grid;margin-top:24px}
.evidence-list>button{display:flex;text-align:left;align-items:center;gap:14px;padding:15px 0;border:0;border-bottom:1px solid var(--border-light);background:none;color:var(--ink)}
.evidence-list>button>span{flex:1;display:flex;flex-direction:column;gap:6px}
.evidence-list strong{font-size:14px;font-weight:500;line-height:1.7}
.evidence-list small{font-size:11px;color:var(--ink-light)}
.evidence-list svg{color:var(--ink-light)}
.mode-choices{display:flex;flex-direction:column;margin:22px 0 26px;border-top:1px solid var(--border-dark)}
.mode-choices>button{display:flex;align-items:center;gap:17px;padding:22px 0;background:none;border:0;border-bottom:1px solid var(--border-light);text-align:left;color:var(--ink)}
.mode-choices>button:hover{background:var(--paper-shade)}
.mode-icon{width:43px;height:43px;display:flex;align-items:center;justify-content:center;background:var(--paper-shade);border-radius:7px}
.mode-choices>button>span:nth-child(2){flex:1;min-width:0}
.mode-choices strong{font-size:16px;font-weight:600}
.mode-choices p{font-size:13px;line-height:1.7;margin:5px 0 7px!important;color:var(--ink-light)}
.mode-choices small{font-size:10px;color:var(--gold-ink);background:var(--gold-bg);padding:3px 6px;border-radius:3px}
.work-identity{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:19px 0}
.work-identity>small{font-size:10px;color:var(--ink-light)}
.work-progress{display:flex;gap:6px;align-items:center;margin:22px 0 26px;padding-bottom:20px;border-bottom:1px solid var(--border-light)}
.work-progress>span{display:flex;align-items:center;gap:6px;flex:1;font-size:10px;color:var(--ink-light);position:relative}
.work-progress b{background:var(--paper-shade);width:19px;height:19px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:9px;font-weight:500;flex-shrink:0}
.work-progress .done b{background:var(--sage-ink);color:var(--paper)}
.work-progress .done{color:var(--ink)}
.edit-fields{display:grid;gap:15px;margin-top:15px}
.edit-fields label,.field-label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}
.edit-fields textarea,.field-label input{width:100%;font-weight:400;font-size:var(--reading-size);line-height:1.8}
.edit-fields select{max-width:200px;font-size:14px;font-weight:400}
.record-actions{margin-top:20px;display:flex;flex-direction:column;gap:13px;align-items:flex-start}
.record-actions label{width:100%}
.field-label input{font-size:14px}
.info-note{background:var(--sage-bg);color:var(--sage-ink);padding:13px 15px;font-size:13px;line-height:1.9;border-radius:5px;margin:15px 0}
.work-footer{font-size:11px;color:var(--ink-light);display:flex;align-items:center;gap:9px}
.external-entry{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.external-entry .action{font-size:12px}
.external-entry>small{font-size:11px;color:var(--ink-light);width:100%}
.pr-panel{margin-top:27px;border-top:2px solid var(--border-dark);padding-top:20px}
.pr-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:17px}
.pr-direction{display:flex;align-items:center;gap:8px;margin:12px 0 20px;flex-wrap:wrap;font-size:12px}
.diff{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border-light);border-radius:6px;overflow:hidden}
.diff>div{padding:15px;background:var(--paper-shade)}
.diff>div+div{background:var(--sage-bg);color:var(--sage-ink)}
.diff small{font-size:10px;font-weight:600;display:block;margin-bottom:10px}
.diff p{font-size:14px;line-height:1.85;min-height:70px}
.diff span{font-size:11px;display:block;margin-top:13px}
.review-input{font-size:14px;width:100%;margin-top:16px}
.review-choices{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 15px}
.review-choices button{flex:1;border:1px solid var(--border-dark);background:transparent;color:var(--ink);font-size:12px;padding:10px 8px;border-radius:4px;min-height:42px}
.review-choices button.active{background:var(--sage-bg);color:var(--sage-ink);border-color:var(--sage-ink)}
.review-records>p{display:flex;align-items:center;gap:10px;font-size:12px;margin:12px 0!important}
.review-records small{display:block;margin-top:4px;line-height:1.8;color:var(--ink-light)}
.check-row{display:flex;gap:9px;align-items:center;font-size:12px;margin:18px 0;flex-wrap:wrap;font-weight:500}
.check-row small{font-size:9px;color:var(--ink-light)}
.success-note{display:flex;gap:10px;align-items:center;font-size:14px;line-height:1.8;color:var(--sage-ink);padding:18px 0}
.sync-warning{padding:16px;border:1px solid var(--accent-gold);background:var(--gold-bg);border-radius:5px;margin:18px 0;color:var(--ink)}
.sync-warning>strong{font-size:14px}
.sync-warning>p,.sync-warning>small{font-size:12px;line-height:1.8;margin:8px 0!important;display:block}
.sync-warning .action{margin-top:12px;font-size:12px}
.conflict-row{margin-top:14px;display:flex;flex-direction:column;gap:8px;font-size:12px}
.conflict-row label{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--border-dark);padding:9px;border-radius:4px;background:var(--surface)}
.conflict-row small{display:block;font-size:12px;margin-top:4px;color:var(--ink-light);line-height:1.7}
/* Shelf: one stationary object per project, question first. */
.shelf-view{max-width:1320px;margin:0 auto;padding:50px 40px 30px}
.shelf-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:48px}
.shelf-heading h1{font:600 42px/1.35 var(--font-display);letter-spacing:-.045em;margin:17px 0 18px}
.shelf-heading p{font-size:16px;color:var(--ink-light)}
.search-bar{display:flex;align-items:center;background:var(--paper-shade);border:1px solid var(--border-light);border-radius:6px;padding:0 12px;min-width:250px;gap:10px}
.search-bar input{border:0;background:transparent;font-size:13px;width:100%;outline:none;padding:12px 0}
.project-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.project-book>h2{font-size:20px;line-height:1.7;font-family:var(--font-display);font-weight:600;margin:11px 0 22px;min-height:70px;letter-spacing:-.025em}
.project-book .artifact-inner{height:410px}
.project-book .app-preview{padding-inline:13px}
.project-book .plate-footer h3{font-size:21px}
/* Separate whole ledger. The first screen remains a result, never this graph. */
.ledger-view{max-width:1520px;width:calc(100% - 80px);margin:0 auto;padding:28px 0}
.ledger-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}
.ledger-heading h1{font-family:var(--font-display);font-size:32px;line-height:1.3;margin:16px 0 10px;font-weight:600}
.ledger-heading p{font-size:14px;color:var(--ink-light)}
.ledger-body{border:1px solid var(--border-dark);border-radius:9px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 295px;min-height:620px;height:calc(100dvh - 290px);background:var(--surface)}
.graph-section{display:flex;flex-direction:column;min-height:0;min-width:0;position:relative}
.graph-toolbar{height:58px;flex-shrink:0;padding:10px 15px;display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--border-light);background:var(--paper)}
.graph-toolbar>label{display:flex;align-items:center;gap:8px;flex:1;min-width:100px}
.graph-toolbar input{padding:7px 0;font-size:12px;border:0;background:transparent;width:100%}
.graph-toolbar>button{border:0;background:none;font-size:11px;padding:6px;color:var(--ink-light)}
.graph-toolbar select{font-size:11px;padding:6px;max-width:90px}
.graph-scroll{overflow:auto;flex:1;min-height:0;background-color:var(--paper);position:relative;overscroll-behavior:contain}
.graph-scroll.dots{background-image:radial-gradient(var(--border-dark) .7px,transparent .7px);background-size:20px 20px}
.graph-scroll.lines{background-image:linear-gradient(var(--border-light) 1px,transparent 1px),linear-gradient(90deg,var(--border-light) 1px,transparent 1px);background-size:24px 24px}
.graph-plane{transform-origin:top left;position:relative}
.graph-connections{position:absolute;inset:0;pointer-events:none;overflow:visible;color:var(--sage-ink)}
.graph-connections>path{fill:none;stroke:var(--ink-light);stroke-width:1.8px}
.graph-connections .history{stroke:var(--sage-ink);stroke-width:2px}
.graph-connections .history.traced{stroke-width:3.5px}
.graph-connections .evidence{stroke:var(--accent-gold);stroke-dasharray:4 4;stroke-width:1.4px}
.graph-connections .reference{stroke:var(--blue-ink);stroke-dasharray:8 5;stroke-width:1.4px}
.graph-node{position:absolute;width:235px;background:var(--surface);border:1px solid var(--border-dark);border-radius:8px;box-shadow:0 6px 14px rgba(0,0,0,.04);transition:opacity .15s}
.graph-node.selected{outline:2px solid var(--sage-ink);outline-offset:3px}
.graph-node.evidence{background:var(--gold-bg)}
.graph-node.note,.graph-node.room{background:var(--blue-bg)}
.graph-node.dimmed{opacity:.35}
.graph-grip{display:flex;width:100%;align-items:center;gap:8px;border:0;border-bottom:1px solid var(--border-light);padding:9px 12px;background:transparent;color:var(--ink-light);font-size:11px!important;text-align:left;cursor:grab!important;touch-action:none;border-radius:8px 8px 0 0}
.drag-dots{margin-left:auto;letter-spacing:2px}
.graph-node-open{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;padding:15px 14px 18px;background:none;border:0;text-align:left;color:var(--ink)}
.graph-node-open strong{font-size:15px;font-weight:600;line-height:1.55}
.graph-node-open small{font-size:11px;color:var(--ink-light);line-height:1.65}
.graph-port{position:absolute;right:-7px;top:57px;width:13px;height:13px;border-radius:50%;background:var(--paper);border:2px solid var(--sage-ink);padding:0}
.graph-port.armed{background:var(--sage-ink)}
.graph-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 15px;background:var(--paper);border-top:1px solid var(--border-light);flex-shrink:0;font-size:10px;color:var(--ink-light);min-height:52px}
.graph-bottom>label{display:flex;align-items:center;gap:9px}
.graph-bottom input{width:90px}
.graph-legend{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.graph-legend>span{display:flex;align-items:center;gap:6px}
.graph-legend i{display:inline-block;width:16px;height:2px;background:var(--sage-ink)}
.graph-legend i.evidence{background:var(--accent-gold)}
.graph-legend i.reference{background:var(--blue-ink)}
.graph-inspector{border-left:1px solid var(--border-light);padding:28px 23px;overflow:auto;display:flex;flex-direction:column;gap:14px;background:var(--surface)}
.graph-inspector h2{font-size:23px;font-family:var(--font-display);line-height:1.5;font-weight:600}
.graph-inspector>p{font-size:14px;line-height:1.9;color:var(--ink-light)}
.graph-inspector>.badge{align-self:flex-start;max-width:100%;white-space:normal}
.inspector-person{display:flex;align-items:center;gap:10px;font-size:12px;margin:7px 0}
.graph-inspector h3{font-size:13px;font-weight:600}
.graph-inspector .section-divider{margin:10px 0 0;border-top:1px solid var(--border-light)}
.graph-access-list{display:flex;flex-direction:column}
.graph-access-list>button{border:0;border-bottom:1px solid var(--border-light);background:none;padding:10px 0;text-align:left;display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.5;color:var(--ink)}
.graph-access-list small{font-size:10px;color:var(--ink-light)}
.graph-access-list>button[aria-pressed=true]{color:var(--sage-ink);font-weight:700}
.connecting-note{position:absolute;bottom:65px;left:18px;right:18px;background:var(--sage-bg);color:var(--sage-ink);border:1px solid var(--border-dark);padding:10px 14px;font-size:12px;border-radius:5px;line-height:1.7}
.connecting-note button{border:0;background:none;text-decoration:underline;margin-left:10px;font-size:12px}
/* Dialogs and state feedback. */
.modal-shade{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(17,17,17,.56);backdrop-filter:blur(5px);padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
.modal-panel{background:var(--paper);color:var(--ink);max-height:calc(100dvh - 48px);width:530px;max-width:100%;overflow:auto;border:1px solid var(--border-dark);box-shadow:0 28px 70px rgba(0,0,0,.22);border-radius:9px;padding:28px 30px;font-family:var(--font-sans)}
.modal-panel.wide{width:760px}
.modal-panel>header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}
.modal-panel>header h2{font-family:var(--font-display);font-size:27px;font-weight:600;line-height:1.4;letter-spacing:-.025em}
.modal-panel h3{font-size:18px;line-height:1.6;font-weight:600}
.modal-panel p{font-size:15px;line-height:1.9}
.modal-panel .app-preview{min-height:440px;border:1px solid var(--border-dark);border-radius:7px;padding:25px}
.modal-panel .preview-topline,.modal-panel .preview-bottomline{font-size:11px}
.modal-panel .preview-instruction{font-size:18px;max-width:500px;margin:18px auto 24px}
.modal-panel .seats{max-width:460px;gap:16px 20px;margin:12px auto 22px}
.modal-panel .seat-desk{width:60px;height:28px}
.modal-panel .seat small{font-size:11px;margin-top:8px}
.modal-panel .blackboard{font-size:11px;max-width:230px;padding:6px;margin-bottom:15px}
.settings-content{display:flex;flex-direction:column;gap:20px}
.settings-content>p{font-size:14px;color:var(--ink-light)}
.settings-content>label:not(.check-row){display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}
.settings-content select{font-weight:400;font-size:14px}
.settings-content .check-row{margin:4px 0}
.font-status{border-block:1px solid var(--border-light);padding:17px 0}
.font-status strong{font-size:14px}
.font-status p{font-size:12px;line-height:1.85;margin:9px 0!important;color:var(--ink-light)}
.font-status small{font-size:10px;line-height:1.8;display:block;color:var(--ink-light)}
.evidence-detail{display:flex;flex-direction:column;gap:18px}
.evidence-detail>.badge{align-self:flex-start}
.evidence-detail>p{font-size:16px}
.person-row{display:flex;gap:12px}
.person-row>span{display:flex;gap:8px;align-items:center;font-size:13px}
.evidence-detail h4{font-size:12px;margin:12px 0 0;color:var(--ink-light);font-weight:500}
.start-form{display:flex;flex-direction:column;gap:18px}
.source-snapshot{display:flex;gap:14px;align-items:center;border:1px solid var(--border-light);padding:16px;background:var(--paper-shade);border-radius:6px}
.source-snapshot>span{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--ink-light)}
.source-snapshot strong{font-size:16px;color:var(--ink)}
.start-form fieldset{margin:0;padding:18px;border:1px solid var(--border-light);border-radius:6px;display:flex;flex-direction:column;gap:20px}
.start-form legend{font-size:13px;padding:0 7px}
.start-form label{display:flex;align-items:flex-start;gap:11px}
.start-form label>span{display:flex;flex-direction:column;gap:6px}
.start-form label strong{font-size:15px}
.start-form label small{font-size:12px;line-height:1.8;color:var(--ink-light)}
.start-form .info-note{margin:0;font-size:13px}
.clone-guide{display:flex;flex-direction:column;gap:15px}
.context-packet{border-block:1px solid var(--border-light);padding:12px 0}
.context-packet>div{display:grid;grid-template-columns:80px 1fr;gap:15px;padding:9px 0;font-size:13px;line-height:1.8}
.context-packet span{color:var(--ink-light)}
.context-packet strong{font-weight:500;min-width:0}
.git-glossary{margin:0;display:grid;gap:0}
.git-glossary>div{display:grid;grid-template-columns:75px 1fr;gap:15px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--border-light);font-size:13px}
.git-glossary dt{font-family:var(--font-mono);color:var(--sage-ink)}
.git-glossary dd{margin:0;line-height:1.8}
.file-review{display:flex;flex-direction:column;gap:16px}
.empty-state{max-width:850px;margin:70px auto;min-height:470px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:35px;gap:25px;background:var(--surface);border:1px solid var(--border-light);border-radius:9px}
.empty-state h2{font-family:var(--font-display);font-size:30px;line-height:1.5}
.empty-state p{font-size:16px;line-height:1.8;color:var(--ink-light);max-width:440px}
.prototype-footer{max-width:1330px;width:calc(100% - 100px);margin:30px auto 0;padding:16px 0 22px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--border-light);font-size:10px;color:var(--ink-light);line-height:1.7}
.prototype-footer button{font-size:10px;border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);background:var(--ink);color:var(--paper);padding:14px 18px;display:flex;gap:12px;align-items:center;z-index:110;border:1px solid var(--border-dark);border-radius:8px;font-size:13px;line-height:1.7;box-shadow:0 9px 30px rgba(0,0,0,.2)}
.toast button{background:none;border:0;color:inherit;padding:5px;display:flex}
.pending-status{position:fixed;top:85px;right:28px;background:var(--gold-bg);color:var(--gold-ink);padding:8px 14px;border-radius:5px;font-size:12px;z-index:90;border:1px solid var(--accent-gold)}
.error-text{font-size:12px!important;color:var(--gold-ink);margin:10px 0!important}
.skip-link{position:fixed;left:15px;top:-90px;z-index:200;background:var(--ink);color:var(--paper);padding:12px 16px}
.skip-link:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Same reference palette, inverted reading surfaces. No new saturated brand color. */
.dorms-folio.dark{--paper:#242523;--paper-shade:#30312e;--surface:#292a27;--ink:#F3F2EE;--ink-light:#c0c0b6;--binder:#161715;--binder-dark:#0c0d0b;--tab-text:#c6c6bc;--border-light:rgba(243,242,238,.14);--border-dark:rgba(243,242,238,.29);--sage-bg:#39452c;--sage-ink:#d2dfaa;--blue-bg:#2a404a;--blue-ink:#c2d9e5;--gold-bg:#4d422b;--gold-ink:#e1c893;background:#1a1b19}
.dark .ref-book .binder-backing{background:#0f100e}
.dark .ref-book .page-spread{box-shadow:-2px 0 10px rgba(0,0,0,.4)}
.dark .ref-book .tab{color:#c6c6bc}
.dark .ref-book .tab.active{color:#fff;background:#0c0d0b}
.dark .plate-header,.dark .plate-footer{background:var(--surface)}
.dark .artifact-back .plate-header{background:transparent}
.dark .credit-strip .ink{background:#c9c9c0}
.dark .credit-strip .olive{background:#9baa79}
.dark .credit-strip .blue{background:#6b97a8}
.dark .ref-specimen .inventory-item:hover{background:var(--paper-shade)}
/* Mobile index is preserved rather than hidden as it was in the original. */
@media(min-width:1600px){.ref-book.folio-wrapper{min-height:800px}.chapter-scroll{padding:48px 54px 30px}.ref-book .page-left{padding:35px 38px 20px}.artifact-inner{height:425px}.ref-book .hero-headline{font-size:42px}}
@media(max-width:1150px){
 .site-header{padding:0 24px}.site-header .header-left{gap:18px}.breadcrumbs{gap:8px}.viewer-chip small{display:none}
 .folio-stage{width:calc(100% - 105px);margin-left:28px;padding-top:22px}.ref-book.folio-wrapper{min-height:760px}.ref-book .page-left{padding:25px 23px 17px}.chapter-scroll{padding:30px 28px 22px}.ref-book .hero-headline{font-size:30px;margin:20px 0}.ref-book .content-split{margin-bottom:21px}.ref-book .body-text{font-size:15px}.education-context p{font-size:14px}.education-context{gap:15px}.ref-book .folio-actions{padding:17px 22px;gap:8px}.folio-actions .action{font-size:12px;padding:9px 12px}.ref-book .brand-mark{font-size:9px}.artifact-inner{height:397px}.plate-footer{padding:16px}.plate-footer h3{font-size:21px}.plate-header{padding:13px}.artifact-back{padding-inline:18px}.artifact-back .plate-header{margin-inline:-18px}.artifact-back>p{font-size:14px}.artifact-back h3{font-size:24px}.seats{width:100%;gap:6px 12px}.seat-desk{width:32px;height:16px}.preview-open{gap:8px}.preview-open>span{font-size:9px}.ref-specimen .inv-name{font-size:12px}.ref-specimen .inventory-item{grid-template-columns:20px minmax(0,1fr) 12px 45px;gap:4px}.inventory-heading small{display:none}.intro-people{flex-wrap:wrap;gap:10px}.intro-people .text-action{margin-left:0}.project-shelf{gap:22px}.project-book>h2{font-size:18px}.ledger-view{width:calc(100% - 48px)}.ledger-body{grid-template-columns:minmax(0,1fr) 255px}.graph-inspector{padding:23px 18px}.diff{grid-template-columns:1fr}.diff p{min-height:0}.project-book .artifact-inner{height:410px}.project-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .site-header{height:auto;min-height:73px;flex-wrap:wrap;padding:17px 18px 13px;gap:12px}.site-header .header-left{gap:15px}.site-header .brand-logo{font-size:25px}.site-header .brand-logo svg{width:21px}.breadcrumbs{font-size:11px}.breadcrumbs button{font-size:11px}.breadcrumbs>strong{max-width:100px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.site-header .header-right{gap:7px;margin-left:auto}.site-header .header-right .action{min-height:35px;font-size:11px;padding:7px 10px}.site-header .header-right .action svg{width:15px}.site-header .icon-btn{width:35px;height:35px;flex-basis:35px}.viewer-chip{display:none}
 .folio-stage{width:calc(100% - 30px);margin:0 auto;padding-top:18px}.workspace-meta{margin-bottom:14px;gap:10px;font-size:10px}.workspace-meta>div{max-width:160px;text-align:right;line-height:1.8;display:none}.workspace-meta .back-link{font-size:11px}.ref-book.folio-wrapper{height:auto;min-height:0;max-height:none;display:block;box-shadow:0 10px 30px rgba(35,31,22,.10);padding-top:0;background:var(--binder);border-radius:8px}
 .ref-book .binder-backing{display:block;border-radius:8px}.ref-book .gutter{display:none}.ref-book .page-spread{width:calc(100% - 10px);height:auto;margin:5px;display:flex;flex-direction:column;overflow:visible;border-radius:2px 2px 5px 5px;position:relative}
 .ref-book .tabs-container{display:flex;position:sticky;flex-direction:row;top:0;right:auto;left:auto;width:100%;gap:1px;padding:4px 4px 0;background:var(--binder);border-radius:8px 8px 0 0;z-index:20;overflow:visible}
 .ref-book .tab{flex:1;min-width:0;width:auto;padding:11px 4px;min-height:59px;gap:6px;clip-path:none;border-radius:5px 5px 0 0;border:0;writing-mode:horizontal-tb;box-shadow:none}
 .ref-book .tab strong{font-size:12px;font-weight:500;writing-mode:horizontal-tb;text-orientation:mixed;letter-spacing:0;line-height:1.2;white-space:nowrap}
 .ref-book .tab>span{font-size:9px}.ref-book .tab.active{background:var(--paper);color:var(--ink);box-shadow:inset 0 3px 0 var(--accent-gold)}
 .ref-book .page-left{flex:none;height:auto;padding:24px 22px 18px;border-right:0;border-bottom:1px solid var(--border-dark);overflow:visible;background:none}
 .ref-book .page-right{flex:none;height:auto;overflow:visible;min-height:570px}.chapter-scroll{overflow:visible;flex:none;padding:31px 24px 27px}.ref-book .brand-mark{font-size:9px;margin-bottom:16px}.result-titleline{margin-bottom:12px}.artifact-shell{max-width:460px}.artifact-inner{height:394px}.seats{width:80%;gap:8px 14px}.seat-desk{width:38px;height:17px}.preview-instruction{font-size:12px;max-width:270px}.plate-footer h3{font-size:23px}.plate-header{padding:13px 17px}.plate-footer{padding:16px 18px}.ref-book .page-left>.page-number{display:none}.preview-open{margin:9px 0 15px}.preview-open>span{font-size:10px}.ref-specimen .inv-name{font-size:13px}.ref-specimen .inv-hex{font-size:10px}.ref-specimen .inventory-item{grid-template-columns:25px minmax(0,1fr) 15px 56px;gap:8px}.ref-specimen .inventory-heading{font-size:12px}.artifact-back>p{font-size:15px}.artifact-back h3{font-size:27px}
 .ref-book .hero-headline{font-size:31px;margin:18px 0 24px;line-height:1.4}.ref-book .body-text{font-size:var(--reading-size)}.education-context{gap:23px}.education-context h3{font-size:14px}.education-context p{font-size:calc(var(--reading-size) - 1px)}.main-note strong{font-size:13px}.main-note p{font-size:12px}.intro-people{flex-wrap:nowrap;gap:10px;font-size:10px}.intro-people .text-action{margin-left:auto;font-size:11px}
 .ref-book .folio-actions{padding:18px;min-height:79px;position:sticky;bottom:0;z-index:6;box-shadow:0 -5px 15px rgba(0,0,0,.035);margin-top:auto}.folio-actions .action{font-size:13px;min-height:43px;padding:10px 12px}.folio-actions .page-number{font-size:8px}.work-footer{font-size:11px;line-height:1.75}.ref-book .folio-actions:has(.work-footer){position:relative}
 .chapter>h2{font-size:28px}.chapter .lead{font-size:16px}.ref-transcript .segment{grid-template-columns:1fr;gap:10px;padding:18px 0}.ref-transcript .segment-meta{flex-direction:row;align-items:center;gap:9px}.ref-transcript .meta-details{flex-direction:row;align-items:baseline;gap:10px}.ref-transcript .segment-text{font-size:16px}.message-links{font-size:11px}.composer>div{gap:10px;flex-wrap:wrap}.composer small{max-width:165px}.composer .action{margin-left:auto}.composer textarea{font-size:16px}.mini-lineage{gap:0}.mini-lineage button{min-width:73px;max-width:100px;padding:7px}.lineage-stem{width:8px}.mode-choices>button{gap:13px;padding:20px 0}.mode-choices strong{font-size:15px}.mode-choices p{font-size:13px}.mode-icon{width:38px;height:38px}.mode-choices small{font-size:10px}.work-progress>span{font-size:10px}.contributor strong{font-size:14px}.edit-fields textarea{font-size:16px}
 .shelf-view{padding:32px 20px}.shelf-heading{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:30px}.shelf-heading h1{font-size:36px}.shelf-heading p{font-size:15px}.search-bar{width:100%}.project-shelf{grid-template-columns:1fr;gap:40px}.project-book .artifact-shell{max-width:none}.project-book>h2{font-size:23px;min-height:0;margin:10px 0 18px}.project-book .artifact-inner{height:405px}
 .ledger-view{width:calc(100% - 28px);padding:23px 0}.ledger-heading{align-items:center}.ledger-heading h1{font-size:27px;margin:15px 0 10px}.ledger-heading p{font-size:12px}.ledger-heading>.action{font-size:11px;padding:9px;gap:5px;min-width:88px}.ledger-body{display:flex;flex-direction:column;height:auto;min-height:0}.graph-section{height:555px;flex:none}.graph-toolbar{flex-wrap:wrap;height:auto;min-height:88px;gap:5px;padding:9px 12px}.graph-toolbar>label{flex:1 1 100%;min-width:0}.graph-toolbar>button{padding:4px 0;margin-right:auto}.graph-toolbar>select{border:0;background:transparent}.graph-inspector{border-left:0;border-top:1px solid var(--border-dark);padding:25px 22px;max-height:500px}.graph-bottom{padding:8px 10px;gap:12px;flex-wrap:wrap}.graph-bottom>label{margin-left:auto}.graph-legend{gap:9px}.graph-bottom input{width:90px}.graph-bottom{font-size:9px}.graph-node-open strong{font-size:16px}
 .modal-shade{padding:14px;padding-bottom:max(14px,env(safe-area-inset-bottom))}.modal-panel{max-height:calc(100dvh - 28px);padding:23px 20px;border-radius:8px}.modal-panel>header{margin-bottom:22px}.modal-panel>header h2{font-size:24px}.modal-panel .app-preview{padding:16px;min-height:420px}.modal-panel .preview-instruction{font-size:16px}.modal-panel .seats{width:100%;gap:15px 10px}.modal-panel .seat-desk{width:43px;height:24px}.modal-panel .preview-bottomline{font-size:9px}.modal-panel .preview-topline{font-size:9px}.settings-content input,.settings-content select,.start-form input,.review-input{font-size:16px}.diff{grid-template-columns:1fr}.diff>div{padding:15px}.diff p{font-size:15px}.diff span{margin-top:9px}.clone-guide .lead{font-size:16px}.git-glossary>div{grid-template-columns:58px 1fr;gap:10px}.git-glossary dd{font-size:13px}.prototype-footer{width:calc(100% - 40px);margin-top:25px;font-size:9px;flex-wrap:wrap;gap:10px;padding-bottom:25px}.prototype-footer>span:nth-child(2){order:3;width:100%;}.prototype-footer button{font-size:9px}.toast{width:max-content;font-size:12px;bottom:18px;padding:12px 14px;max-width:calc(100% - 28px)}.pending-status{top:128px;right:18px}.empty-state{padding:26px 22px;min-height:450px;margin:35px auto}.empty-state h2{font-size:27px}.empty-state p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.dorms-folio *{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.artifact-inner{transition:none!important}}

/* Reading refinement after actual desktop rendering. */
.artifact-inner{height:419px}
.app-preview .preview-bottomline{flex-shrink:0}
.lineage-parent-list{display:flex;flex-direction:column;gap:6px}
.question-samples.groups{grid-template-columns:1fr 1fr}
.question-samples.groups form{grid-column:1/-1}
.chapter-scroll{scroll-margin-top:76px}
@media(min-width:761px){.ref-book .body-text{font-size:var(--reading-size)}.education-context p{font-size:calc(var(--reading-size) - 1px)}}
@media(max-width:760px){.artifact-inner{height:416px}.ref-book .tab strong{font-size:13px}.chapter-scroll{scroll-margin-top:80px}}

/* 0.6 reference transplant: Shelf Life surfaces + Bespoke Planner rings. */
.dorms-folio.v06{--paper:#FDFBF9;--paper-shade:#E8E4DF;--ink:#171717;--ink-light:#5a5652;--surface:#F7F4F0;--border-light:rgba(23,23,23,.12);--border-dark:rgba(23,23,23,.25);--desk:#EAE6E1;--ring-metal:linear-gradient(90deg,#d5d1cc 0%,#fcfbfa 30%,#b8b3ae 80%,#9e9a95 100%);--ring-shadow:0 3px 4px rgba(0,0,0,.15),inset 0 1px 1px rgba(255,255,255,.8);background:radial-gradient(circle at 50% 0%,#F5F2EF 0%,var(--desk) 100%);color:var(--ink);font-family:'SUIT Variable','Manrope','NanumBarunGothic','Noto Sans CJK KR','Apple SD Gothic Neo',sans-serif;line-height:1.7}
.dorms-folio.v06.dark{--paper:#272522;--paper-shade:#33302C;--ink:#F4F0E9;--ink-light:#C3BDB2;--surface:#312E29;--border-light:rgba(244,240,233,.14);--border-dark:rgba(244,240,233,.25);--desk:#1e1b1a;background:radial-gradient(circle at 50% 0%,#302924 0%,#1e1b1a 75%)}
.v06 .action{font-size:16px;min-height:46px;padding:10px 19px;border-radius:8px;font-weight:600;gap:9px;line-height:1.45}.v06 .action.primary{background:var(--book-accent,#53604B);color:var(--paper);border-color:transparent;box-shadow:0 3px 7px rgba(0,0,0,.06)}.v06 .action.primary:hover{filter:brightness(1.1)}.v06 button:focus-visible,.v06 a:focus-visible,.v06 input:focus-visible,.v06 select:focus-visible,.v06 textarea:focus-visible{outline:3px solid var(--book-accent,#BA6D73);outline-offset:4px}.v06 input,.v06 textarea,.v06 select{font-size:16px}.v06 button:disabled{cursor:not-allowed}.v06 .icon-btn{width:42px;height:42px;flex-basis:42px;border-radius:50%}.v06 .site-header{height:78px;padding:0 max(28px,calc((100vw - 1450px)/2));background:transparent;border-bottom:1px solid var(--border-light)}.v06 .site-header .brand-logo{font-size:31px;letter-spacing:-1px}.v06 .site-header .header-right{gap:12px}.v06 .breadcrumbs{font-size:15px}.v06 .breadcrumbs strong{max-width:none}.v06 .viewer-chip{display:none}.v06 .prototype-footer{font-size:12px;width:calc(100% - 80px);max-width:1420px;justify-content:space-between;border-top:1px solid var(--border-light);padding:18px 0 24px;gap:10px}.v06 .prototype-footer button{font-size:12px}.v06 .caption{font-size:13px;line-height:1.7}.v06 .eyebrow{font-size:12px;letter-spacing:.13em}.v06 .text-action{font-size:15px}
/* Shelf Life: the original wood top/front/side planes, spine and page texture. */
.library-view{--wall-bg:#f3f0ea;--wall-light:radial-gradient(circle at 50% 0%,rgba(255,255,255,.8) 0%,transparent 70%);--wood-front:#d4a373;--wood-top:#e6ccb2;--wood-side:#b5835a;padding:42px max(32px,calc((100vw - 1340px)/2)) 26px;background:var(--wall-light);min-height:calc(100svh - 160px)}
.library-view.atmosphere-walnut{--wall-bg:#1e1b1a;--wall-light:radial-gradient(circle at 50% 0%,rgba(255,214,153,.15) 0%,transparent 70%);--wood-front:#4a2c11;--wood-top:#633f1f;--wood-side:#3d230d}
.library-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.library-eyebrow{font-family:'Manrope',sans-serif;font-size:11px;letter-spacing:.25em;color:var(--ink-light)}.library-intro h1{font-family:var(--font-display);font-size:clamp(33px,3.3vw,47px);font-weight:600;line-height:1.35;letter-spacing:-.035em;margin:9px 0 12px}.library-count{font-size:14px;display:flex;gap:13px;align-items:center;color:var(--ink-light)}.library-count i{width:3px;height:3px;border-radius:50%;background:currentColor}.library-intro .action.primary{background:#53604B;color:#FDFBF9;min-height:50px;padding-inline:24px}
.library-tools{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:0 0 28px;border-bottom:1px solid var(--border-light);margin-bottom:20px}.department-filters{display:flex;gap:6px;flex-wrap:wrap}.department-filters button{font-size:16px;border:0;background:none;color:var(--ink-light);padding:9px 16px;border-radius:100px}.department-filters [aria-pressed=true]{background:var(--ink);color:var(--paper)}.library-tools .search-bar{width:260px;min-width:180px;max-width:100%;padding:8px 13px;background:var(--paper);border-radius:100px;flex-shrink:0}.library-tools .search-bar input{font-size:15px}.library-tools .search-bar button{background:none;border:0;color:var(--ink-light);display:flex}
.library-stacks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:88px;row-gap:20px;padding:14px 14px 0}.department-stack{min-width:0}.department-heading{display:flex;align-items:center;gap:16px;padding:8px 12px 10px}.classification-number{font:11px 'Manrope',sans-serif;letter-spacing:.08em;color:var(--ink-light);border:1px solid var(--border-dark);padding:3px 7px;border-radius:2px}.department-heading h2{font-family:var(--font-display);font-size:27px;font-weight:600;letter-spacing:-.035em;margin:0}.department-heading>span:last-of-type{font-size:13px;color:var(--ink-light);margin-left:auto}.department-heading>button{background:none;border:1px solid var(--border-light);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--ink-light)}
.library-view .perspective-view{perspective:1400px;perspective-origin:50% 40%;padding:0 6px 50px;overflow:visible}.preserve-3d{transform-style:preserve-3d}.shelf-scene{position:relative;width:100%;height:320px;transform:rotateX(8deg) rotateY(-13deg);transform-origin:50% 100%}.shelf-shadow{position:absolute;left:-2%;right:-2%;bottom:-16px;height:55px;background:rgba(0,0,0,.20);filter:blur(19px);transform:translateZ(-30px);pointer-events:none}.shelf-top{position:absolute;bottom:20px;left:-2%;width:104%;height:100px;background:var(--wood-top);transform-origin:bottom;transform:rotateX(90deg);border-bottom:1px solid rgba(0,0,0,.2);box-shadow:inset 0 20px 40px rgba(0,0,0,.2)}.shelf-front{position:absolute;bottom:0;left:-2%;width:104%;height:20px;background:var(--wood-front);border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(0,0,0,.20);border-radius:1px;box-shadow:0 6px 12px rgba(0,0,0,.20);overflow:hidden}.shelf-side{position:absolute;bottom:0;right:-2%;width:100px;height:20px;background:var(--wood-side);transform-origin:right;transform:rotateY(-90deg)}.shelf-grain{position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.055) 3px 4px,transparent 4px 7px);opacity:.5}.books-row{position:absolute;left:6%;right:5%;bottom:20px;display:flex;align-items:flex-end;gap:9px;min-width:0}
.shelf-book{position:relative;width:var(--book-thickness);height:var(--book-height);flex:0 0 var(--book-thickness);border:0;padding:0;background:none;transform:translateZ(0);color:var(--book-foreground);cursor:pointer;isolation:auto}.book-hover{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.book-hover:hover,.book-hover:focus-visible{transform:translateZ(15px) translateY(-5px)}.book-spine{position:absolute;inset:0;background:var(--book-color);border-radius:4px 1px 1px 4px;border-right:1px solid rgba(0,0,0,.4);box-shadow:inset 4px 0 7px rgba(255,255,255,.13),inset -3px 0 5px rgba(0,0,0,.3),3px 3px 7px rgba(0,0,0,.16);z-index:3;overflow:hidden}.book-pages{position:absolute;top:0;left:3px;width:calc(100% - 5px);height:var(--book-depth);background-color:#E8DECD;transform-origin:top;transform:rotateX(-90deg);border:1px solid #c4b69d;box-shadow:inset 0 0 10px rgba(0,0,0,.1)}.book-pages-texture{background-image:repeating-linear-gradient(to right,transparent,transparent 1px,rgba(0,0,0,.05) 1px,rgba(0,0,0,.05) 2px)}.book-side{position:absolute;top:0;right:0;width:var(--book-depth);height:100%;background:var(--book-dark);transform-origin:right;transform:rotateY(-90deg);box-shadow:inset -10px 0 20px rgba(0,0,0,.4)}.book-record-tag{position:absolute;bottom:10px;left:0;right:0;text-align:center;font:10px 'Manrope',sans-serif;color:var(--book-foreground);opacity:.7;z-index:4;pointer-events:none}.cover-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:23px 30px;color:var(--book-foreground);z-index:3;text-align:center}.cover-content>small{font:11px 'Manrope',sans-serif;letter-spacing:.19em;opacity:.7}.cover-content>strong{font-family:var(--font-display);font-size:clamp(27px,3vw,43px);font-weight:600;line-height:1.5;letter-spacing:-.04em;margin:auto 0 13px}.cover-subtitle{font-size:14px;max-width:90%;opacity:.86;margin-bottom:24px}.cover-symbol{display:flex;align-items:center;justify-content:center;margin:auto 0 25px;opacity:.85}.cover-signature{font-family:'Cormorant Garamond',Georgia,serif;font-size:19px;letter-spacing:.05em}.cover-border{position:absolute;inset:12px;border:1px solid rgba(244,224,167,.48);border-radius:2px;z-index:2;pointer-events:none}.cover-grain{position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);opacity:.45;z-index:1;pointer-events:none}.cover-image{position:absolute;inset:18% 10% 20%;width:80%;height:62%;object-fit:cover;z-index:1;opacity:.35;border-radius:2px}.book-spine .cover-content{padding:14px 6px 27px}.book-spine .cover-content strong{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:2px;font-family:'SUIT Variable','NanumBarunGothic',sans-serif;font-size:18px;line-height:1.35;margin:11px auto 4px;flex:1;word-break:keep-all;font-weight:700;max-height:calc(100% - 46px)}.book-spine .cover-symbol{display:none}.book-spine .cover-signature{font-size:11px;margin-bottom:5px}.book-spine .cover-content small{font-size:8px;letter-spacing:.1em}.book-spine .cover-border{inset:9px 5px}.cover-classic .cover-content{color:var(--book-foil,#F1E0B2)}.cover-classic .cover-border{box-shadow:inset 0 0 0 4px var(--book-color),inset 0 0 0 5px rgba(244,224,167,.3)}.cover-linen .cover-grain{opacity:.8;background:repeating-linear-gradient(0deg,rgba(255,255,255,.055) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 1px,transparent 1px 3px)}.cover-linen .cover-border{border:0;box-shadow:none}.cover-modern .cover-border{border:0;border-top:5px solid var(--book-foreground);border-bottom:1px solid var(--book-foreground);opacity:.7}.cover-modern .cover-content strong{font-family:'SUIT Variable','NanumBarunGothic',sans-serif;font-weight:800}.cover-window .cover-border{inset:15px;border-width:2px;opacity:.7}.cover-window .cover-content>strong{background:var(--book-color);padding:10px 0;line-height:1.6}.empty-book{height:167px;width:54px;flex:0 0 54px;border:1px dashed var(--border-dark);border-radius:4px;background:rgba(255,255,255,.035);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--ink-light);font-size:12px;margin-left:18px;transition:transform .25s}.empty-book:hover{transform:translateY(-5px)}.empty-book span{writing-mode:vertical-rl;letter-spacing:4px}.bookend{width:16px;height:90px;flex:0 0 16px;margin-left:auto;border:7px solid #867969;border-right:0;border-top:0;box-shadow:-4px 0 7px rgba(0,0,0,.09);border-radius:0 0 0 4px;transform:translateZ(-12px);opacity:.75}.add-department{display:flex;align-items:center;justify-content:center;gap:9px;border:1px dashed var(--border-dark);background:transparent;color:var(--ink-light);font-size:16px;border-radius:8px;padding:14px 24px;margin:15px auto 0}.library-empty{padding:50px;text-align:center}.library-empty h2{font-size:24px;margin:14px}
/* In-book composition retained; planner material and legible typography transplanted. */
.v06 .folio-stage{width:calc(100% - 158px);max-width:1420px;margin:0 auto;padding-top:22px}.v06 .workspace-meta{margin-bottom:20px;min-height:38px;gap:20px;color:var(--ink-light)}.v06 .workspace-meta .back-link{font-size:16px;gap:9px}.v06 .workspace-meta>div{display:flex;max-width:none;gap:10px}.v06 .workspace-meta .action{font-size:14px;min-height:37px;padding:6px 13px}.v06 .ref-book.folio-wrapper{--paper:inherit;--paper-shade:inherit;--ink:inherit;--ink-light:inherit;--binder:inherit;--binder-dark:inherit;--border-light:inherit;--border-dark:inherit;position:relative;height:780px;min-height:700px;max-height:calc(100svh - 190px);width:100%;border-radius:7px 16px 16px 7px;box-shadow:0 20px 40px rgba(0,0,0,.09),0 4px 12px rgba(0,0,0,.04),20px 20px 60px rgba(0,0,0,.06);}
.v06 .ref-book .binder-backing{border-radius:8px 18px 18px 8px;background:var(--book-dark);box-shadow:inset -5px 0 20px rgba(0,0,0,.4)}.v06 .ref-book .page-spread{width:calc(100% - 17px);height:calc(100% - 14px);margin:7px;overflow:hidden;border-radius:4px 10px 10px 4px;background:var(--paper);box-shadow:1px 3px 3px var(--paper-shade),3px 5px 0 rgba(245,241,235,.9)}.v06 .ref-book .page-left{flex:0 0 50%;padding:27px 44px 18px 32px;border-right:0;background:linear-gradient(to right,var(--paper) 85%,var(--paper-shade) 100%)}.v06 .ref-book .page-right{flex:0 0 50%;min-width:0;background:linear-gradient(to left,var(--paper) 87%,var(--paper-shade) 100%);overflow:hidden}.v06 .ref-book .gutter{display:none}.v06 .chapter-scroll{padding:33px 35px 25px 43px;scrollbar-width:thin}.v06 .ref-book .hero-headline{font-size:clamp(29px,2.6vw,40px);line-height:1.48;letter-spacing:-.045em;font-weight:600;margin:8px 0 28px;text-transform:none}.v06 .education-context{gap:22px}.v06 .education-context h3{font-size:14px;color:var(--book-accent);font-weight:700;margin-bottom:8px;letter-spacing:.01em}.v06 .education-context p{font-size:var(--reading-size);line-height:1.85;margin:0;color:var(--ink-light)}.v06 .intro-people{border-top:1px solid var(--book-rule);margin-top:30px;padding-top:19px;gap:12px;font-size:13px;flex-wrap:wrap}.v06 .intro-people .text-action{margin-left:auto;font-size:14px}.v06 .ref-book .brand-mark{margin-bottom:18px}.v06 .ref-book .brand-mark>span:first-child{font-family:var(--font-display);font-size:23px;letter-spacing:-.025em;color:var(--ink)}.v06 .ref-book .brand-mark>span:last-child{font-size:11px;color:var(--book-accent)}.v06 .result-titleline{margin-bottom:15px;font-size:13px}.v06 .result-titleline code{font-size:11px}.v06 .artifact-inner{height:385px;border-radius:10px}.v06 .plate-header{padding:13px 19px;font-size:10px;min-height:45px}.v06 .plate-header .badge{font-size:11px;padding:4px 9px}.v06 .plate-footer{padding:17px 21px;min-height:90px}.v06 .plate-footer h3{font-size:25px;line-height:1.4}.v06 .plate-footer p{font-size:12px;margin-top:4px}.v06 .artifact-face{border-color:var(--book-rule);background:var(--paper)}.v06 .artifact-back{padding-inline:25px;background:var(--paper)}.v06 .artifact-back h3{font-size:26px;line-height:1.4}.v06 .artifact-back>p{font-size:16px;line-height:1.8}.v06 .artifact-back .tiny{font-size:12px}.v06 .artifact-utilities{padding:9px 0;min-height:33px}.v06 .artifact-utilities button{font-size:12px}.v06 .preview-open{margin:2px 0 14px}.v06 .preview-open .action{min-height:41px;font-size:14px;padding:8px 16px}.v06 .preview-instruction{font-size:14px;line-height:1.7;color:var(--ink)}.v06 .ref-specimen{--paper:inherit;--ink:inherit;--ink-light:inherit;--paper-shade:inherit;--border-light:inherit;--accent-gold:inherit}.v06 .inventory-heading{font-size:14px}.v06 .ref-specimen .inventory-item{grid-template-columns:24px minmax(0,1fr) 12px 55px;padding:12px 0;gap:10px}.v06 .ref-specimen .inv-name{font-size:15px;font-family:var(--font-sans);font-style:normal;line-height:1.5}.v06 .ref-specimen .inv-hex{font-size:12px}.v06 .inventory-item.selected{color:var(--book-accent);background:var(--book-wash)}.v06 .sage,.v06 .inv-chip.sage{background:var(--book-accent)}.v06 .badge.sage{background:var(--book-wash);color:var(--book-accent)}
.v06 .ref-book .tabs-container{right:-50px;top:30px;bottom:30px;width:50px;overflow-y:auto;overflow-x:hidden;gap:7px;scrollbar-width:none}.v06 .ref-book .tab{width:47px;min-height:98px;padding:12px 6px;flex-shrink:0;border-radius:0 9px 9px 0;clip-path:none;border:1px solid var(--book-rule);border-left:0;writing-mode:vertical-rl;text-orientation:upright;transform:none;background:var(--paper);color:var(--ink-light);box-shadow:4px 4px 10px rgba(0,0,0,.04);gap:10px}.v06 .ref-book .tab strong{font-family:var(--font-sans);font-size:15px;font-weight:600;letter-spacing:2px;white-space:nowrap}.v06 .ref-book .tab span{font-family:'Manrope',sans-serif;font-size:9px;writing-mode:horizontal-tb;opacity:.7}.v06 .ref-book .tab.active{color:var(--book-accent);background:var(--book-wash);transform:translateX(3px);box-shadow:6px 4px 12px rgba(0,0,0,.05);border-color:var(--book-accent)}.v06 .ref-book .tab:hover:not(.active){transform:translateX(2px);color:var(--ink)}.v06 .ref-book .tabs-edit{min-height:46px;background:transparent;border:1px dashed var(--book-rule);color:var(--book-accent);writing-mode:horizontal-tb}.v06 .ref-book .folio-actions{padding:20px 27px 20px 37px;border-top:1px solid var(--book-rule);background:var(--paper);gap:10px;flex-wrap:wrap}.v06 .folio-actions .action{font-size:15px;min-height:46px;padding:10px 17px}.v06 .folio-actions .page-number{font-size:11px;margin-left:auto}.v06 .work-footer{font-size:12px;color:var(--ink-light)}
/* The planner reference's six metal rings and paired punched holes. */
.v06 .planner-spine{position:absolute;top:7px;bottom:7px;left:50%;transform:translateX(-50%);width:30px;height:auto;z-index:8;display:flex;flex-direction:column;justify-content:space-evenly;padding:32px 0;pointer-events:none}.v06 .ring-group{position:relative;width:100%;height:24px}.v06 .ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:8px;background:var(--ring-metal);border-radius:4px;box-shadow:var(--ring-shadow);z-index:2}.v06 .hole{position:absolute;top:50%;transform:translateY(-50%);width:14px;height:14px;background:var(--desk);border-radius:50%;box-shadow:inset 2px 2px 4px rgba(0,0,0,.2),inset -1px -1px 2px rgba(255,255,255,.5);z-index:1}.v06 .hole.left{left:-18px}.v06 .hole.right{right:-18px}.v06 .mobile-rings{display:none}
.v06 .chapter>h2{font-size:33px;line-height:1.45;letter-spacing:-.045em;margin-bottom:21px}.v06 .chapter .lead{font-size:17px}.v06 .ref-transcript .segment-text{font-size:var(--reading-size);line-height:1.85;letter-spacing:0;color:var(--ink)}.v06 .ref-transcript .segment{grid-template-columns:1fr;gap:12px;padding:19px 0}.v06 .ref-transcript .segment-meta{flex-direction:row;align-items:center;gap:10px}.v06 .ref-transcript .meta-details{flex-direction:row;gap:10px;align-items:baseline}.v06 .ref-transcript .meta-title{font-size:14px}.v06 .ref-transcript .meta-subtitle{font-size:12px}.v06 .message-links{font-size:12px;gap:12px;margin-top:9px}.v06 .composer textarea{font-size:17px;line-height:1.8;border-radius:8px}.v06 .composer .action{font-size:14px;min-height:40px}.v06 .room-select select{font-size:15px}.v06 .mode-choices strong{font-size:18px}.v06 .mode-choices p{font-size:15px;line-height:1.7}.v06 .mode-choices small{font-size:12px}.v06 .mode-choices>button{padding:24px 0}.v06 .edit-fields textarea{font-size:17px;line-height:1.8}.v06 .history-entry p,.v06 .evidence-list strong{font-size:16px}.v06 .history-entry strong{font-size:17px}.v06 .contributor strong{font-size:17px}.v06 .credit-total strong{font-size:58px}.v06 .education-context{border:0}.v06 .credit-strip{height:13px}.v06 .quiet-details{font-size:14px}.v06 .hl-green{background:var(--book-wash);color:var(--book-accent)}.v06 .primary:disabled{opacity:.45}
/* Opening: fixed elapsed-time compositor animations, no frame-based simulation. */
.book-opening{position:fixed;inset:0;z-index:1100;perspective:2000px;overflow:hidden}.flight-shade{position:absolute;inset:0;background:var(--desk)}.flight-anchor{position:absolute;transform-origin:0 0;perspective:1900px;transform-style:preserve-3d;will-change:transform}.flight-cover{position:absolute;inset:0;transform-origin:0 50%;transform-style:preserve-3d;will-change:transform,opacity}.flight-front,.flight-back{position:absolute;inset:0;border-radius:4px 12px 12px 4px;backface-visibility:hidden;box-shadow:0 20px 40px rgba(0,0,0,.21),inset 3px 0 7px rgba(255,255,255,.1)}.flight-front{background:var(--book-color);overflow:hidden}.flight-front:after{content:'';position:absolute;left:11px;top:0;bottom:0;width:2px;background:rgba(0,0,0,.17)}.flight-front .cover-content{padding:35px 45px}.flight-back{transform:rotateY(180deg);background:var(--paper);border:9px solid var(--book-dark)}.skip-opening{position:absolute;right:24px;bottom:25px;background:var(--paper);color:var(--ink);border:1px solid var(--border-light);border-radius:100px;padding:10px 17px;display:flex;gap:12px;align-items:center;font-size:14px}
/* Book customization, reusable cover object, and custom content types. */
.v06 .modal-panel{background:var(--paper);border-radius:16px;box-shadow:0 25px 90px rgba(0,0,0,.25)}.v06 .modal-panel.wide{max-width:990px;width:calc(100% - 30px)}.v06 .modal-panel>header h2{font-size:29px}.book-editor{display:grid;grid-template-columns:270px minmax(0,1fr);gap:34px}.cover-editor-preview{background:var(--surface);border:1px solid var(--border-light);border-radius:12px;padding:24px 27px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0}.cover-sample{position:relative;width:205px;height:300px;border-radius:3px 8px 8px 3px;background:var(--book-color);box-shadow:8px 12px 17px rgba(0,0,0,.15),inset 4px 0 5px rgba(255,255,255,.08);overflow:hidden}.cover-sample .cover-content{padding:23px}.cover-sample .cover-content>strong{font-size:25px}.cover-sample .cover-subtitle{font-size:11px;margin-bottom:14px}.cover-sample .cover-symbol{margin-bottom:18px}.cover-sample .cover-signature{font-size:16px}.cover-to-page{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;background:#FDFBF9;color:#5a5652;border-radius:8px;margin-top:24px;padding:15px;font-size:11px}.cover-to-page>b{font-size:15px}.cover-to-page>i{width:28px;height:5px;border-radius:4px}.cover-to-page>span:last-child{width:100%;text-align:center}.book-editor-fields{display:flex;flex-direction:column;gap:18px}.book-editor label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}.book-editor input:not([type=color]),.book-editor select,.custom-add input,.link-add input,.tab-editor input,.tab-editor select{min-width:0;width:100%;border:1px solid var(--border-dark);border-radius:7px;background:var(--paper);color:var(--ink);padding:10px 13px;line-height:1.6;font:inherit;font-size:16px}.editor-two{display:grid;grid-template-columns:145px minmax(0,1fr);gap:16px}.book-editor fieldset{padding:0;border:0}.book-editor legend{font-size:14px;font-weight:600;margin-bottom:12px}.cover-palette{display:flex;gap:12px;flex-wrap:wrap}.cover-palette>button{width:37px;height:37px;border-radius:50%;border:3px solid transparent;display:flex;justify-content:center;align-items:center;box-shadow:0 0 0 1px var(--border-light)}.cover-palette>button[aria-pressed=true]{outline:2px solid var(--book-accent,#53604B);outline-offset:3px}.custom-color{position:relative;overflow:hidden;width:37px;height:37px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px dashed var(--border-dark)}.custom-color input{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.custom-color svg{pointer-events:none}.cover-style-options{display:flex;gap:10px}.cover-style-options button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-light);border-radius:7px;background:var(--paper);color:var(--ink);font-size:12px;flex:1;padding:8px 5px}.cover-style-options [aria-pressed=true]{border-color:var(--book-accent,#53604B);background:var(--book-wash,#EDEEE8)}.style-swatch{display:block;width:27px;height:37px;border-radius:2px;position:relative}.style-classic:after,.style-window:after{content:'';position:absolute;inset:4px;border:1px solid #e6cf9a}.style-linen{background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.15) 0 1px,transparent 1px 3px)}.style-modern:after{content:'';position:absolute;left:5px;right:5px;top:8px;height:4px;border-top:2px solid #fff;border-bottom:1px solid #fff}.cover-image-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cover-image-controls .action{font-size:13px;min-height:38px}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.tab-edit-list{display:flex;flex-direction:column;gap:9px;max-height:45svh;overflow:auto;padding:4px}.tab-edit-row{display:grid;grid-template-columns:27px minmax(95px,1fr) 76px 36px 36px 55px;gap:8px;align-items:center}.tab-row-number{font-size:11px;color:var(--ink-light)}.tab-edit-row input{padding:7px 10px}.tab-edit-row small{font-size:11px;color:var(--ink-light)}.tab-edit-row .icon-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center}.rotate-up{display:flex;transform:rotate(-90deg)}.rotate-down{display:flex;transform:rotate(90deg)}.tab-hide{border:0;background:none;color:var(--book-accent);font-size:12px;padding:4px}.tab-edit-row.is-hidden input{text-decoration:line-through;opacity:.6}.tab-add-form{border-top:1px solid var(--border-light);margin-top:20px;padding-top:14px}.tab-add-form h3{font-size:17px;margin:0 0 12px}.tab-add-form>div{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:12px}.tab-add-form .action{font-size:14px}.tab-editor .caption{margin-top:15px}.custom-chapter .notebook-text{width:100%;resize:vertical;min-height:280px;border:0;border-top:1px solid var(--border-light);padding:13px 2px;color:var(--ink);background:repeating-linear-gradient(transparent 0 35px,var(--border-light) 35px 36px);font:inherit;line-height:36px;font-size:18px;outline-offset:4px}.note-save{display:flex;align-items:center;justify-content:flex-end;gap:15px;margin-top:17px}.note-save>span{font-size:13px;color:var(--ink-light)}.custom-chapter .task-item{display:flex;gap:15px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border-light)}.custom-chapter .task-item input{accent-color:var(--book-accent);width:20px;height:20px;flex:none}.custom-chapter .task-text{font-size:18px;line-height:1.7}.custom-chapter .completed .task-text{text-decoration:line-through;color:var(--ink-light)}.custom-add{display:flex;gap:10px;margin-top:20px}.custom-add .action{flex:none;font-size:14px}.resource-links{display:flex;flex-direction:column;gap:8px}.resource-links a{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--border-light);padding:15px 0;color:var(--ink);text-decoration:none}.resource-links a strong{font-size:17px}.resource-links a small{display:block;color:var(--ink-light);font-size:12px;overflow-wrap:break-word}.link-add{display:flex;flex-direction:column;gap:12px;margin-top:25px}.files-list{margin-bottom:24px}.files-list details{border-bottom:1px solid var(--border-light);padding:12px 0}.files-list summary{display:flex;gap:10px;align-items:center;cursor:pointer;font-size:16px}.files-list pre{white-space:pre-wrap;max-height:300px;overflow:auto;background:var(--surface);padding:15px;font-size:12px}.department-form{display:flex;flex-direction:column;gap:20px}.department-form label{font-size:15px;display:flex;flex-direction:column;gap:9px}.department-form input{background:var(--paper);color:var(--ink);border:1px solid var(--border-dark);border-radius:8px;padding:12px}
/* Local previews use the same project identity, not a reused seat screen. */
.v06 .auxiliary-preview{padding:15px 22px;gap:9px;flex:1;min-height:0;overflow:hidden;background:var(--book-wash)}.v06 .auxiliary-preview .preview-instruction{font-size:14px;margin-bottom:4px}.calendar-title{display:flex;align-items:baseline;gap:15px;color:var(--book-accent)}.calendar-title strong{font-size:26px;font-weight:700}.calendar-title>span{font-size:12px}.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;flex:1}.mini-calendar b{font-size:11px;font-weight:500;color:var(--ink-light)}.mini-calendar button{border:0;background:transparent;color:var(--ink);border-radius:5px;padding:2px;position:relative;min-height:25px;font-size:13px;opacity:1!important}.mini-calendar button.has-event{background:var(--book-accent);color:var(--paper)}.mini-calendar button span{display:none}.calendar-choice{font-size:13px}.attendance-rows{display:flex;flex-direction:column;gap:0}.attendance-rows>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--book-rule);padding:5px 8px;font-size:12px}.attendance-rows button{border:0;border-radius:5px;padding:3px 12px;background:var(--book-accent);color:var(--paper);font-size:11px;opacity:1!important}.attendance-rows button.absent{background:#774543;color:#fff}.mini-timetable{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:10px}.mini-timetable b{font-size:12px;text-align:center;font-weight:500}.mini-timetable button{border:1px solid var(--book-rule);padding:8px 3px;border-radius:5px;background:var(--paper);color:var(--ink);font-size:12px;opacity:1!important}.counsel-prompts{display:flex;flex-direction:column;gap:10px;margin:auto 0}.counsel-prompts button{border:0;border-bottom:1px solid var(--book-rule);background:none;display:flex;gap:12px;text-align:left;padding:11px 0;color:var(--ink);font-size:14px;opacity:1!important}.counsel-prompts span{color:var(--book-accent);font-size:11px}.counsel-prompts [aria-pressed=true]{background:var(--paper)}.new-project-blank{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:180px;color:var(--ink-light)}.new-project-blank strong{font-size:17px}.new-project-blank .writing-lines{width:75%;height:60px}.v06 .modal-panel .auxiliary-preview{min-height:490px;border-radius:10px}.v06 .modal-panel .mini-calendar button{min-height:45px;font-size:17px}.v06 .modal-panel .attendance-rows>div{font-size:17px;padding:14px}.v06 .modal-panel .attendance-rows button{font-size:15px}.v06 .modal-panel .mini-timetable button{padding:16px 5px;font-size:16px}
@media(min-width:1650px){.v06 .ref-book.folio-wrapper{height:850px;max-height:calc(100svh - 185px)}.v06 .artifact-inner{height:450px}.v06 .chapter-scroll{padding:42px 49px 35px 55px}.v06 .ref-book .page-left{padding:35px 55px 25px 44px}}
@media(max-width:1150px) and (min-width:801px){.library-stacks{column-gap:50px}.library-view{padding:30px}.shelf-scene{transform:rotateX(8deg) rotateY(-9deg)}.books-row{gap:5px;left:5%}.empty-book{margin-left:8px;width:42px;flex-basis:42px}.v06 .folio-stage{width:calc(100% - 110px);margin:0 72px 0 38px}.v06 .ref-book.folio-wrapper{height:800px;max-height:none;min-height:780px}.v06 .ref-book .page-left{padding:27px 34px 20px 24px}.v06 .chapter-scroll{padding:30px 23px 23px 36px}.v06 .ref-book .hero-headline{font-size:29px}.v06 .education-context p{font-size:17px}.v06 .plate-footer h3{font-size:22px}.v06 .ref-specimen .inv-name{font-size:13px}.v06 .folio-actions .action{font-size:14px;padding:10px 13px}.v06 .ref-book .folio-actions{padding:18px 20px 18px 30px}.v06 .chapter>h2{font-size:28px}.v06 .artifact-inner{height:369px}}
@media(max-width:800px){.v06 .site-header{padding:14px 18px;height:auto;min-height:71px;flex-wrap:nowrap;gap:12px}.v06 .site-header .header-left{gap:0;min-width:0}.v06 .site-header .brand-logo{font-size:27px}.v06 .site-header .header-right{gap:7px}.v06 .site-header .icon-btn{width:38px;height:38px;flex-basis:38px}.v06 .breadcrumbs{display:none}.v06 .site-header .action{font-size:12px;min-height:37px;padding:7px 10px}.library-view{padding:27px 22px 15px}.library-intro{align-items:flex-start;gap:15px;margin-bottom:23px}.library-intro h1{font-size:31px;margin-top:9px;letter-spacing:-.06em}.library-eyebrow{font-size:8px;letter-spacing:.18em}.library-intro .action.primary{font-size:12px;min-height:38px;padding:9px 11px;gap:4px;margin-top:23px;white-space:nowrap}.library-intro .action svg{width:15px}.library-count{font-size:12px;gap:9px}.library-tools{display:flex;flex-direction:column;gap:17px;align-items:stretch;margin-bottom:15px;padding-bottom:20px}.department-filters{gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.department-filters button{font-size:13px;padding:8px 13px;white-space:nowrap}.library-tools .search-bar{width:100%;min-height:43px}.library-stacks{grid-template-columns:1fr;gap:9px;padding:0 3px}.department-heading{padding:11px 3px 0;gap:13px}.department-heading h2{font-size:24px}.department-heading>span:last-of-type{font-size:12px}.classification-number{font-size:9px}.library-view .perspective-view{padding:0 2px 32px}.shelf-scene{height:299px;transform:rotateX(8deg) rotateY(-12deg)}.books-row{left:6%;right:4%;gap:7px}.shelf-book{--book-depth:70px!important;width:calc(var(--book-thickness)*.90);flex-basis:calc(var(--book-thickness)*.90);height:calc(var(--book-height)*.91)}.book-spine .cover-content strong{font-size:16px;letter-spacing:2px}.book-spine .cover-content{padding-top:12px}.empty-book{width:42px;flex-basis:42px;height:149px;margin-left:9px;font-size:11px}.bookend{margin-left:auto;width:13px;flex-basis:13px;height:68px;border-width:6px}.shelf-top{height:70px}.shelf-side{width:70px}.add-department{font-size:14px;margin-top:5px}.v06 .folio-stage{width:calc(100% - 26px);margin:0 auto;padding-top:14px}.v06 .workspace-meta{margin-bottom:16px;gap:10px;align-items:center}.v06 .workspace-meta .back-link{font-size:14px;white-space:nowrap}.v06 .workspace-meta>div{display:flex;gap:5px}.v06 .workspace-meta .action{font-size:11px;min-height:34px;padding:6px 9px;gap:5px}.v06 .workspace-meta .action svg{width:13px}.v06 .ref-book.folio-wrapper{display:block;max-height:none;min-height:0;height:auto;border-radius:8px;background:var(--book-dark);padding:0}.v06 .ref-book .tabs-container{position:sticky;top:0;bottom:auto;right:auto;left:auto;width:100%;display:flex;flex-direction:row;gap:3px;padding:5px 5px 0;background:var(--book-dark);overflow-x:auto;overflow-y:hidden;border-radius:8px 8px 0 0;z-index:20}.v06 .ref-book .tab{flex:0 0 auto;min-width:61px;width:auto;min-height:59px;padding:10px 11px;border-radius:5px 5px 0 0;writing-mode:horizontal-tb;gap:6px;border:0;box-shadow:none}.v06 .ref-book .tab strong{font-size:13px;letter-spacing:0;writing-mode:horizontal-tb;font-weight:600;line-height:1.3}.v06 .ref-book .tab span{font-size:8px}.v06 .ref-book .tab.active{transform:none;box-shadow:inset 0 3px 0 var(--book-accent);background:var(--paper)}.v06 .ref-book .tab:hover:not(.active){transform:none}.v06 .ref-book .tabs-edit{min-width:42px}.v06 .ref-book .page-spread{height:auto;display:flex;flex-direction:column;width:calc(100% - 10px);margin:5px;overflow:visible;border-radius:2px 2px 5px 5px}.v06 .ref-book .page-left{flex:none;height:auto;padding:23px 20px 28px;background:linear-gradient(to bottom,var(--paper) 88%,var(--paper-shade) 100%);border:0;overflow:visible}.v06 .ref-book .brand-mark>span:first-child{font-size:20px}.v06 .ref-book .brand-mark{margin-bottom:14px}.v06 .artifact-inner{height:387px}.v06 .plate-footer h3{font-size:24px}.v06 .plate-footer{min-height:90px}.v06 .ref-specimen .inv-name{font-size:14px}.v06 .ref-book .page-right{flex:none;height:auto;min-height:430px;overflow:visible;background:linear-gradient(to top,var(--paper) 92%,var(--paper-shade) 100%)}.v06 .chapter-scroll{padding:28px 21px 30px;overflow:visible;scroll-margin-top:78px}.v06 .ref-book .hero-headline{font-size:31px;margin:6px 0 28px;line-height:1.55}.v06 .education-context p{font-size:18px;line-height:1.85}.v06 .education-context{gap:26px}.v06 .intro-people{margin-top:27px;font-size:13px;gap:12px}.v06 .intro-people .text-action{font-size:13px}.v06 .ref-book .folio-actions{padding:15px 17px max(15px,env(safe-area-inset-bottom));position:sticky;bottom:0;gap:8px;border-top:1px solid var(--book-rule);box-shadow:0 -6px 15px rgba(0,0,0,.04);z-index:11;flex-wrap:nowrap}.v06 .folio-actions .action{min-height:45px;font-size:13px;padding:10px 12px}.v06 .folio-actions .page-number{display:none}.v06 .planner-spine{display:none}.v06 .mobile-rings{position:relative;height:32px;flex:none;background:var(--paper-shade);z-index:9;display:block}.v06 .mobile-rings .planner-spine{position:absolute;display:flex;flex-direction:row;align-items:center;justify-content:space-evenly;inset:0;width:100%;height:32px;padding:0 17px;transform:none}.v06 .mobile-rings .ring-group{width:22px;height:30px;transform:rotate(90deg)}.v06 .mobile-rings .ring{width:38px;height:7px}.v06 .mobile-rings .hole{width:10px;height:10px}.v06 .mobile-rings .hole.left{left:-10px}.v06 .mobile-rings .hole.right{right:-10px}.v06 .chapter>h2{font-size:30px}.v06 .ref-transcript .segment-text{font-size:18px}.v06 .composer textarea{font-size:17px}.v06 .message-links{font-size:12px;gap:10px}.v06 .mode-choices strong{font-size:17px}.v06 .mode-choices p{font-size:15px}.v06 .mode-choices small{font-size:11px}.v06 .prototype-footer{width:calc(100% - 40px);font-size:10px;flex-wrap:wrap;margin-top:20px}.v06 .prototype-footer button{font-size:10px}.v06 .prototype-footer>span:nth-child(2){width:auto;order:0}.v06 .modal-panel.wide{width:100%;max-width:100%;padding:22px 18px}.v06 .modal-panel>header h2{font-size:25px}.book-editor{display:flex;flex-direction:column;gap:24px}.cover-editor-preview{padding:19px 20px;flex-direction:row;gap:20px;align-items:center;justify-content:center}.cover-sample{width:135px;height:192px;flex:none}.cover-sample .cover-content{padding:15px 13px}.cover-sample .cover-content>small{font-size:7px}.cover-sample .cover-content>strong{font-size:17px;margin-bottom:8px}.cover-sample .cover-subtitle{font-size:8px;line-height:1.5;margin-bottom:10px}.cover-sample .cover-symbol{margin-bottom:10px}.cover-sample .cover-symbol svg{width:20px;height:20px}.cover-sample .cover-signature{font-size:10px}.cover-to-page{margin:0;max-width:140px;padding:11px;font-size:10px}.cover-to-page>span:last-child{font-size:9px}.book-editor-fields{gap:18px}.editor-two{grid-template-columns:1fr}.book-editor-fields input{font-size:16px}.cover-palette{gap:12px}.cover-palette>button,.custom-color{width:31px;height:31px}.tab-edit-row{grid-template-columns:17px minmax(72px,1fr) 30px 30px 43px;gap:6px}.tab-edit-row small{display:none}.tab-edit-row input{font-size:14px;padding:8px}.tab-edit-row .icon-btn{width:29px;height:33px}.tab-hide{font-size:10px}.tab-add-form>div{grid-template-columns:1fr auto;gap:8px}.tab-add-form select{grid-column:1/-1}.tab-editor .caption{font-size:12px}.v06 .modal-panel .auxiliary-preview{min-height:460px;padding:15px}.v06 .custom-add .action{font-size:12px}.custom-add{gap:8px}.custom-add input{padding:10px;font-size:16px}}
@media(max-width:370px){.library-view{padding:23px 16px}.library-intro h1{font-size:28px}.library-intro .action.primary{padding:8px;font-size:11px}.bookend{display:none}.v06 .workspace-meta .action{padding:5px 7px}.v06 .ref-book .page-left{padding-inline:15px}.v06 .chapter-scroll{padding-inline:17px}.v06 .plate-footer h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.v06 .book-hover,.v06 .flight-cover,.v06 .flight-anchor{transition:none;animation:none}.v06 .shelf-book:hover{transform:none}}

.flight-library{position:absolute;pointer-events:none;z-index:1}.flight-library .shelf-book:hover{transform:translateZ(0)}.flight-library>.library-view{background-color:var(--wall-bg);min-height:0}.flight-anchor{z-index:2}.skip-opening{z-index:4}
.v06 .artifact-front .auxiliary-preview{gap:5px;padding-block:9px}.v06 .artifact-front .auxiliary-preview .preview-instruction{margin:4px 0!important;padding:0!important;font-size:13px;max-height:45px;flex-shrink:0}.v06 .artifact-front .calendar-title strong{font-size:23px;line-height:1.3}.v06 .artifact-front .mini-calendar button{min-height:19px;padding:0;font-size:12px}.v06 .artifact-front .mini-calendar{min-height:0;gap:1px}.v06 .artifact-front .mini-timetable button{padding:6px 3px}


/* v0.7 local polish only: reference22 pill geometry and lime/deep ink;
   reference transcript sage/sky washes; planner rose/blush. Book/shelf geometry stays v06. */
.v07 {--control-radius:14px;--control-surface:#fafbf8;--control-line:rgba(26,40,40,.14)}
.v07.dark {--control-surface:#2a2b29;--control-line:rgba(255,255,255,.16)}
.v07 button { -webkit-tap-highlight-color:transparent; }
.v07 .action {border-radius:var(--control-radius);min-height:43px;padding:10px 17px;border-color:var(--control-line);font-weight:600;letter-spacing:-.015em;box-shadow:0 1px 2px rgba(15,28,26,.025);transition:background .18s,color .18s,box-shadow .18s,transform .18s cubic-bezier(.175,.885,.32,1.275)}
.v07 .action:not(.primary) {background:var(--control-surface);color:var(--ink)}
.v07 .action:hover:not(:disabled) {transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,28,26,.08)}
.v07 .action:active:not(:disabled) {transform:translateY(1px);box-shadow:none}
.v07 .action.primary {border-radius:999px;border:1px solid transparent;background:var(--book-cta,#BFFF00);color:var(--book-cta-ink,#0C2D3A);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 3px 8px rgba(15,30,22,.06)}
.v07 .action.primary:hover:not(:disabled) {box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 7px 20px rgba(15,30,22,.12)}
.v07 .action.primary small {opacity:.66;font-size:11px}
.v07 .action:disabled {transform:none;box-shadow:none;opacity:.42}
.v07 .action:focus-visible,.v07 button:focus-visible,.v07 input:focus-visible,.v07 select:focus-visible,.v07 textarea:focus-visible {outline:2px solid var(--book-accent,#4a5420);outline-offset:4px}
.v07 .action svg {stroke-width:1.8}
.v07 .icon-btn {border-radius:13px;border:1px solid var(--control-line);background:var(--control-surface);transition:background .18s,transform .18s}
.v07 .icon-btn:hover {transform:translateY(-1px)}
.v07 .badge {border-radius:7px;padding:4px 9px;font-weight:650;font-size:11px;letter-spacing:0}
.v07 .site-header {background:var(--paper);border-color:var(--control-line)}
.v07 .header-right .action {background:transparent}
.v07 .workspace-meta .action {font-size:13px;min-height:39px;padding:8px 13px;border-radius:999px;gap:7px}
.v07 .workspace-meta .action small {font-family:var(--font-sans);min-width:18px;height:18px;display:inline-grid;place-items:center;background:var(--paper-shade);border-radius:50%}
.v07 .workspace-meta>div {gap:8px}
.v07 .folio-actions .action.primary {padding-inline:22px}
.v07 .folio-actions .action:not(.primary) {background:transparent;border-color:transparent}
.v07 .ref-book .tab.active {box-shadow:inset 3px 0 0 var(--book-cta,var(--book-accent)),3px 2px 10px rgba(0,0,0,.04)}
.v07 .library-intro .action.primary {background:#BFFF00;color:#0C2D3A;border:1px solid rgba(12,45,58,.06);border-radius:999px;box-shadow:0 3px 12px rgba(12,45,58,.06);min-height:46px;font-weight:700;padding:12px 22px}
.v07 .library-intro h1 {font-size:clamp(32px,3.2vw,47px)}
.v07 .library-type-bar {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}
.v07 .segmented {display:inline-flex;gap:4px;padding:5px;border:1px solid var(--control-line);background:var(--paper-shade);border-radius:999px;max-width:100%}
.v07 .segmented button {border:0;background:transparent;color:var(--ink-light);display:flex;gap:8px;align-items:center;justify-content:center;padding:10px 17px;border-radius:999px;font-size:14px;font-weight:650;transition:background .16s,color .16s,box-shadow .16s}
.v07 .segmented button[aria-pressed=true] {background:#0C2D3A;color:#F7F9FB;box-shadow:0 2px 5px rgba(0,0,0,.13)}
.v07.dark .segmented button[aria-pressed=true] {background:#E6EDD1;color:#223422}
.v07 .type-filter button small {font-size:11px;opacity:.76;font-variant-numeric:tabular-nums;min-width:17px;border-radius:999px;padding:1px 4px;background:rgba(127,127,127,.13)}
.v07 .type-filter-note {font-size:14px;color:var(--ink-light)}
.v07 .department-filters button {border-radius:9px;padding:8px 13px;background:transparent;border-color:transparent;font-weight:600}
.v07 .department-filters button[aria-pressed=true] {background:var(--paper-shade);color:var(--ink);border-color:var(--control-line)}
.v07 .search-bar {border-radius:999px;padding-inline:17px;border-color:var(--control-line);background:var(--control-surface);box-shadow:0 1px 2px rgba(0,0,0,.025)}
.v07 .add-department {border-radius:999px;border-style:dashed;padding:12px 19px}
.v07 .project-type-pill {display:inline-flex;align-items:center;gap:6px;font:650 11px/1.4 var(--font-sans);padding:4px 8px;border-radius:7px;border:1px solid var(--control-line);color:var(--ink-light);white-space:nowrap}
.v07 .project-type-pill.research {background:var(--sage-bg);color:var(--sage-ink)}
.v07 .project-type-pill.app {background:var(--paper-shade)}
.v07 .book-spine .cover-kind-label {display:block;letter-spacing:0;font:650 10px/1.5 var(--font-sans);margin-top:7px;border-top:1px solid currentColor;padding-top:5px;opacity:.92}
.v07 .type-research .book-spine::after {content:'';position:absolute;top:-1px;right:7px;width:10px;height:36px;background:var(--book-cta);clip-path:polygon(0 0,100% 0,100% 100%,50% 83%,0 100%);opacity:.96;box-shadow:1px 1px 3px #0003}
.v07 .type-research .book-spine .cover-content {padding-top:25px}
.v07 .cover-content>small {display:flex;justify-content:space-between;align-items:center;gap:6px}
.v07 .book-spine .cover-content>small {display:block}
.v07 .cover-kind-label {font:650 11px/1.4 var(--font-sans);letter-spacing:.02em}
.v07 .shelf-book.type-research .cover-symbol {background:rgba(255,255,255,.10);border-radius:50%;padding:4px}
.v07 .book-editor-fields {gap:21px}.v07 .book-editor-fields>.project-type-pill{align-self:flex-start}
.v07 .book-editor-fields legend {font-size:15px;font-weight:700;margin-bottom:11px}
.v07 .project-kind-picker {width:100%;border-radius:16px}
.v07 .project-kind-picker button {flex:1;border-radius:12px;padding:12px 9px;white-space:nowrap}
.v07 .palette-pairs {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.v07 .palette-pairs>button {min-height:65px;border:1px solid var(--control-line);border-radius:14px;background:var(--control-surface);display:flex;align-items:center;gap:11px;padding:10px;color:var(--ink);text-align:left;transition:transform .18s,border-color .18s,box-shadow .18s}
.v07 .palette-pairs>button:hover {transform:translateY(-2px);box-shadow:0 5px 12px #1029200a}
.v07 .palette-pairs>button[aria-pressed=true] {border:2px solid var(--book-accent);padding:9px;background:var(--paper)}
.v07 .palette-pairs>button>span:nth-child(2) {font-size:12px;font-weight:650;line-height:1.45;flex:1}
.v07 .paired-swatches {display:flex;justify-content:flex-end;align-items:flex-end;width:40px;height:42px;border-radius:5px 8px 8px 5px;box-shadow:inset 3px 0 0 #0002,0 2px 4px #0002;flex:none;padding:0 6px 7px}
.v07 .paired-swatches>i {width:20px;height:7px;display:block;border-radius:2px}
.v07 .custom-pair {display:flex;gap:12px;margin-top:12px}
.v07 .custom-pair label {display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--control-line);border-radius:12px;background:var(--control-surface);padding:8px 12px;font-size:12px;flex:1}
.v07 .custom-pair input[type=color] {padding:0;border:0;background:transparent;width:32px;height:29px;min-height:0;cursor:pointer;border-radius:7px;overflow:hidden}
.v07 input[type=color]::-webkit-color-swatch-wrapper {padding:0}
.v07 input[type=color]::-webkit-color-swatch {border:1px solid #0002;border-radius:6px}
.v07 .cover-style-list button {border-radius:12px}
.v07 .cover-to-page b {background:var(--book-cta);color:var(--book-cta-ink)}
.v07 .source-form label,.v07 .meeting-form label,.v07 .meeting-detail>label {display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:650}
.v07 :is(.source-form,.meeting-form,.meeting-detail,.participants-panel,.inline-room-form) :is(input:not([type=checkbox]):not([type=file]),textarea,select) {font:inherit;color:var(--ink);background:var(--control-surface);border:1px solid var(--control-line);border-radius:12px;padding:11px 13px;min-width:0;max-width:100%}
.v07 :is(.source-form,.meeting-form,.meeting-detail) textarea {resize:vertical;font-size:16px;font-weight:400;line-height:1.7;width:100%}
.v07 :is(.source-form,.meeting-form) {display:flex;flex-direction:column;gap:18px}
.v07 .source-form .segmented {align-self:flex-start}
.v07 .source-form .file-select {display:flex;align-items:flex-start;gap:9px;border:1px dashed var(--control-line);padding:15px;border-radius:12px}
.v07 .source-form input[type=file] {font-size:12px;max-width:100%}
.v07 .tiny {font-size:12px;line-height:1.7;color:var(--ink-light);margin-top:18px}
.v07 .error-text {color:#a13946;font-size:14px}
.v07.dark .error-text {color:#F1BABA}
.v07 .chapter-toolbar {display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:28px}
.v07 .chapter-toolbar h2 {font-family:var(--font-display);font-size:32px;font-weight:600;line-height:1.4;margin:5px 0 0}
.v07 .chapter-toolbar .action {white-space:nowrap;font-size:14px}
.v07 .research-preview {display:flex;flex-direction:column;height:100%;min-height:0;padding:17px 20px;gap:11px;background:var(--paper);color:var(--ink);overflow:hidden;border-radius:10px}
.v07 .research-preview h3 {font-family:var(--font-display);font-size:22px;font-weight:600;line-height:1.6;letter-spacing:-.035em;margin:0}
.v07 .research-preview .preview-topline {font-size:9px;color:var(--ink-light);border-bottom:1px solid var(--book-rule);padding-bottom:9px}
.v07 .research-preview-lines {font-size:13px;line-height:1.75;color:var(--ink-light);overflow:hidden;min-height:0}
.v07 .research-preview-lines p {margin:0 0 10px}
.v07 .research-open-question {border-top:1px solid var(--book-rule);padding:11px 0 0;margin-top:auto;min-height:0}
.v07 .research-open-question>span {font-size:10px;color:var(--book-accent);font-weight:700}
.v07 .research-open-question>p {font-size:12px;line-height:1.7;margin:4px 0 0}
.v07 .research-note-foot {display:flex;justify-content:space-between;align-items:center;color:var(--book-accent);font-size:10px;flex:none}
.v07 .research-main-meta {display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--ink-light);font-size:12px}
.v07 .research-main h1 {font-family:var(--font-display);font-size:clamp(25px,2.5vw,37px);line-height:1.55;letter-spacing:-.04em;margin:18px 0 32px;font-weight:600}
.v07 .research-main h3 {font-family:var(--font-sans);font-size:15px;font-weight:700;margin:0 0 12px}
.v07 .research-prose {white-space:pre-wrap;font-size:18px;line-height:1.9;letter-spacing:-.02em}
.v07 .open-question-panel {margin-top:28px;padding:21px 23px;background:var(--book-wash);border-radius:16px;border:1px solid var(--book-rule)}
.v07 .open-question-panel h3 {color:var(--book-accent)}
.v07 .open-question-panel p {margin:0;font-size:16px;line-height:1.8;white-space:pre-wrap}
.v07 .source-chips {display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.v07 .source-chips button {display:flex;align-items:center;gap:7px;background:transparent;color:var(--ink-light);border:1px solid var(--control-line);border-radius:999px;padding:9px 12px;font-size:12px;text-align:left}
.v07 .research-main .intro-people {margin-top:28px}
.v07 .material-list {display:flex;flex-direction:column;gap:12px}
.v07 .material-list>details {border:1px solid var(--control-line);border-radius:16px;background:var(--control-surface);padding:0 17px;overflow:hidden}
.v07 .material-list summary {display:flex;align-items:center;gap:13px;padding:18px 0;cursor:pointer;list-style:none}
.v07 .material-list summary::-webkit-details-marker {display:none}
.v07 .material-list summary>span:nth-child(2) {flex:1;min-width:0}
.v07 .material-list summary strong {font-size:16px;line-height:1.6;display:block}
.v07 .material-list summary small {font-size:12px;color:var(--ink-light);margin-top:3px;display:block}
.v07 .material-icon {display:grid;place-items:center;background:var(--book-wash);color:var(--book-accent);border-radius:12px;width:42px;height:46px;flex:none}
.v07 .material-list details[open] summary>svg {transform:rotate(45deg)}
.v07 .source-reader {padding:0 0 17px;line-height:1.85;font-size:16px;overflow-wrap:break-word;min-width:0}
.v07 .source-reader p {margin:0 0 14px}
.v07 .source-reader a {color:var(--book-accent);display:inline-flex;align-items:center;gap:6px;font-size:14px}
.v07 .source-reader img {max-width:100%;max-height:280px;object-fit:contain;display:block;margin:12px auto}
.v07 .source-reader small {display:block;color:var(--ink-light);font-size:11px}
.v07 .material-list details>.action {margin-bottom:18px;font-size:13px}
.v07 .meeting-list {display:flex;flex-direction:column;gap:12px}
.v07 .meeting-list>button {width:100%;padding:18px 16px;display:flex;align-items:center;gap:14px;border:1px solid var(--control-line);background:var(--control-surface);border-radius:16px;color:var(--ink);text-align:left}
.v07 .meeting-list>button>span:nth-child(2) {flex:1}
.v07 .meeting-list strong {display:block;font-size:17px;line-height:1.5}
.v07 .meeting-list small {display:block;font-size:12px;color:var(--ink-light);margin-top:5px}
.v07 .meeting-date {background:var(--book-wash);color:var(--book-accent);width:44px;height:50px;border-radius:12px;display:grid;place-items:center;flex:none}
.v07 .meeting-detail {display:flex;flex-direction:column;gap:16px}
.v07 .meeting-detail>h3 {font-size:24px;line-height:1.5;font-family:var(--font-display);margin:0}
.v07 .meeting-detail>small {font-size:12px;color:var(--ink-light)}
.v07 .agenda-note {background:var(--book-wash);padding:17px 20px;border-radius:14px;white-space:pre-wrap;font-size:16px;line-height:1.8}
.v07 .attendees {display:flex;gap:8px;flex-wrap:wrap}
.v07 .attendees label {display:flex;align-items:center;gap:7px;font-size:13px;padding:7px 9px;border-radius:999px;background:var(--control-surface);border:1px solid var(--control-line)}
.v07 .attendees .avatar {width:24px;height:24px;font-size:10px}
.v07 input[type=checkbox],.v07 input[type=radio] {accent-color:var(--book-accent,#4a5420);width:17px;height:17px;flex:none;cursor:pointer}
.v07 .inline-room-form {display:flex;flex-wrap:wrap;gap:9px;padding:13px;border-radius:14px;background:var(--book-wash);margin-bottom:18px}
.v07 .inline-room-form select {font-size:13px}
.v07 .inline-room-form input {flex:1 1 150px;font-size:15px}
.v07 .inline-room-form .action {font-size:13px;padding:8px 12px}
.v07 .participants-panel {display:flex;flex-direction:column;gap:20px}
.v07 .people-session {display:flex;align-items:center;gap:10px;background:var(--paper-shade);padding:13px;border-radius:14px;font-size:14px}
.v07 .people-session select {margin-left:auto;font-size:13px}
.v07 .participant-list {display:flex;flex-direction:column;gap:0}
.v07 .participant-row {display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--control-line);padding:14px 0}
.v07 .participant-row>div {flex:1;min-width:0;display:flex;flex-direction:column}
.v07 .participant-row strong {font-size:16px;line-height:1.4}
.v07 .participant-row small {font-size:11px;color:var(--ink-light)}
.v07 .participant-row select {font-size:13px;max-width:136px;padding:8px 9px}
.v07 .participant-row>label {display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}
.v07 .member-add {display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13px}
.v07 .member-add .action {font-size:13px;padding:9px 13px}
.v07 .consensus-policy {border:1px solid var(--control-line);border-radius:18px;background:var(--book-wash);padding:22px}
.v07 .consensus-policy h3 {font-size:18px;margin:0 0 10px}
.v07 .consensus-policy p {font-size:14px;line-height:1.8;color:var(--ink-light);margin:0 0 17px}
.v07 .consensus-policy label {display:flex;align-items:center;gap:9px;font-size:14px;font-weight:650}
.v07 .policy-locked {padding:12px 15px;background:var(--sage-bg);color:var(--sage-ink);border-radius:12px;font-size:13px;line-height:1.7}
.v07 .work-identity>span {display:flex;align-items:center;gap:7px;font-size:12px;margin-left:auto}
.v07 .work-identity .avatar {width:23px;height:23px;font-size:10px}
.v07 .record-actions {margin:18px 0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.v07 .record-actions .field-label {width:100%;display:flex;flex-direction:column;gap:9px;font-size:14px}
.v07 .record-actions input {width:100%;font:inherit;border:1px solid var(--control-line);border-radius:12px;background:var(--control-surface);color:var(--ink);padding:12px 14px}
.v07 .record-actions .action {font-size:14px}
.v07 .source-picker label {display:flex;align-items:center;gap:9px;font-size:14px;line-height:1.7;padding:7px 0}
.v07 .diff {align-items:start;gap:10px}
.v07 .diff>div {min-width:0}
.v07 .diff-field {margin-top:15px}
.v07 .diff-field b {font-size:12px;color:var(--ink-light)}
.v07 .diff-field p {font-size:15px;line-height:1.9;white-space:pre-wrap;margin:7px 0;overflow-wrap:break-word}
.v07 .consensus-meter {display:flex;align-items:center;justify-content:space-between;gap:10px;margin:25px 0 12px;flex-wrap:wrap}
.v07 .consensus-meter>div {display:flex;align-items:baseline;gap:10px;font-size:12px;color:var(--ink-light)}
.v07 .consensus-meter strong {font-family:var(--font-sans);font-size:30px;color:var(--ink);font-variant-numeric:tabular-nums;font-weight:650}
.v07 .consensus-meter strong span {font-size:20px;color:var(--ink-light);font-weight:450}
.v07 .consensus-track {height:5px;background:var(--paper-shade);border-radius:5px;overflow:hidden;margin:0 0 17px}
.v07 .consensus-track>span {display:block;background:var(--book-accent);height:100%;transition:width .25s}
.v07 .reviewer-roster>div {display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--control-line)}
.v07 .reviewer-roster>div>span:nth-child(2) {flex:1;display:flex;flex-direction:column;min-width:0}
.v07 .reviewer-roster strong {font-size:14px;font-weight:650}
.v07 .reviewer-roster small {font-size:12px;line-height:1.5;color:var(--ink-light)}
.v07 .reviewer-roster b {font-size:12px;color:var(--ink-light);font-weight:500}
.v07 .reviewer-roster .agreed>b {color:var(--sage-ink);background:var(--sage-bg);padding:5px 9px;border-radius:999px}
.v07 .review-session {display:flex;gap:12px;justify-content:space-between;align-items:center;margin:21px 0 15px;font-size:13px;flex-wrap:wrap}
.v07 .review-session label {display:flex;gap:8px;align-items:center}
.v07 .review-session select {font:inherit;border:1px solid var(--control-line);border-radius:999px;padding:8px 11px;color:var(--ink);background:var(--control-surface);max-width:190px}
.v07 .review-session .text-action {font-size:12px}
.v07 .review-choices {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.v07 .review-choices>button {flex:1 1 95px;border:1px solid var(--control-line);background:var(--control-surface);color:var(--ink);border-radius:12px;padding:11px 9px;font:600 13px var(--font-sans);transition:background .18s}
.v07 .review-choices>button:first-child {background:var(--book-cta);color:var(--book-cta-ink)}
.v07 .review-choices>button.active {box-shadow:inset 0 0 0 2px var(--book-accent)}
.v07 .merged-people {display:flex;gap:6px;align-items:center;font-size:13px;margin:20px 0}
.v07 .merged-people>span:last-child {margin-left:5px;color:var(--ink-light)}
.v07 .check-row {font-size:14px;line-height:1.7}
.v07 .quiet-details>summary {font-size:13px}
.v07 .modal-panel .research-preview {min-height:450px;padding:25px 28px}
.v07 .modal-panel .research-preview h3 {font-size:32px}
.v07 .modal-panel .research-preview-lines,.v07 .modal-panel .research-open-question p {font-size:18px;line-height:1.9}
.v07 .modal-panel .research-open-question>span {font-size:14px}
@media(min-width:801px){.v07 .ref-book .tabs-container {max-height:calc(100% - 35px);overflow-y:auto;overflow-x:hidden;padding-right:8px;right:-58px;scrollbar-width:none}.v07 .ref-book .tab {padding-block:13px;min-height:67px}.v07 .ref-book .tab strong {font-size:13px}}
@media(max-width:1150px) and (min-width:801px){.v07 .workspace-meta .action {font-size:11px;padding:8px 9px}.v07 .chapter-toolbar {flex-wrap:wrap}.v07 .research-prose{font-size:17px}.v07 .palette-pairs{grid-template-columns:1fr}.v07 .consensus-meter .badge{font-size:10px}}
@media(max-width:800px){
 .v07 .library-intro .action.primary{font-size:12px;min-height:40px;padding:10px 14px;margin-top:24px}
 .v07 .library-intro h1{font-size:31px}.v07 .library-type-bar{margin-bottom:18px;gap:8px}.v07 .type-filter-note{display:none}
 .v07 .segmented button{font-size:13px;padding:9px 14px}.v07 .segmented{padding:4px}.v07 .library-type-bar .segmented{width:100%}.v07 .type-filter button{flex:1}
 .v07 .library-tools{gap:14px}.v07 .department-filters button{font-size:12px;padding:7px 11px}
 .v07 .workspace-meta{flex-wrap:wrap}.v07 .workspace-meta>div{gap:5px}.v07 .workspace-meta .action{font-size:11px;min-height:36px;padding:7px 10px;gap:5px}.v07 .workspace-meta .action small{display:none}
 .v07 .workspace-meta .action svg{width:13px}.v07 .workspace-meta .back-link{font-size:13px}
 .v07 .folio-actions .action{font-size:13px;min-height:44px}.v07 .folio-actions .action.primary{padding-inline:17px}
 .v07 .ref-book .tab.active{box-shadow:inset 0 3px 0 var(--book-cta,var(--book-accent))}
 .v07 .palette-pairs{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.v07 .palette-pairs>button{gap:9px;padding:8px;min-height:59px}.v07 .palette-pairs>button[aria-pressed=true]{padding:7px}.v07 .paired-swatches{width:31px;height:36px}.v07 .paired-swatches i{width:15px}.v07 .palette-pairs>button>span:nth-child(2){font-size:11px}.v07 .palette-pairs svg{width:12px}
 .v07 .book-editor-fields .project-kind-picker{width:100%}.v07 .book-editor-fields .project-kind-picker button{font-size:13px;padding:11px 10px}
 .v07 .research-main h1{font-size:29px}.v07 .research-prose{font-size:18px}.v07 .open-question-panel{padding:18px}.v07 .research-main-meta{gap:7px;font-size:11px}
 .v07 .chapter-toolbar h2{font-size:29px}.v07 .chapter-toolbar .action{padding:10px 13px;font-size:12px}.v07 .chapter-toolbar{gap:12px}
 .v07 .material-list>details{padding:0 13px}.v07 .material-list summary{gap:10px}.v07 .material-list summary strong{font-size:16px}.v07 .source-reader{font-size:16px}
 .v07 .people-session{flex-wrap:wrap;padding:12px}.v07 .people-session select{padding:9px;max-width:130px}.v07 .participant-row{display:grid;grid-template-columns:32px 1fr 115px;gap:9px}.v07 .participant-row>label{grid-column:2/-1}.v07 .participant-row select{max-width:115px;font-size:12px}.v07 .participant-row strong{font-size:15px}.v07 .consensus-policy{padding:17px}
 .v07 .work-identity{gap:7px;flex-wrap:wrap}.v07 .work-identity code{font-size:10px}.v07 .work-identity>span{margin-left:0}.v07 .diff{grid-template-columns:1fr}
 .v07 .review-session select{max-width:135px}.v07 .consensus-meter{gap:8px}.v07 .consensus-meter .badge{font-size:10px}.v07 .review-choices{gap:7px}.v07 .review-choices>button{font-size:12px}
 .v07 .research-preview h3{font-size:22px}.v07 .modal-panel .research-preview h3{font-size:25px}.v07 .modal-panel .research-preview{padding:18px;min-height:480px}
}
@media(prefers-reduced-motion:reduce){.v07 .action,.v07 .icon-btn,.v07 .palette-pairs>button{transition:none;transform:none!important}}

.v07 .people-session{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 16px;background:var(--paper-shade);border-radius:14px;font-size:14px}.v07 .participants-panel{display:flex;flex-direction:column;gap:20px}.v07 .participant-name{display:flex;flex-direction:column;gap:5px}.v07 .policy-summary{display:flex;gap:12px;align-items:center;margin:18px 0}.v07 .policy-summary>span{display:flex;flex-direction:column;gap:7px}.v07 .policy-summary strong{font-size:16px}.v07 .policy-summary small{font-size:13px;color:var(--ink-light)}.v07 .toggle-row{display:flex;justify-content:space-between;padding-block:13px;border-block:1px solid var(--control-line);gap:15px}.v07 .consensus-policy p.caption{font-size:13px;margin:13px 0 0}.v07 .participants-panel .action.primary{align-self:flex-start}.v07 .participants-panel .participant-row .avatar.large{width:35px;height:35px;font-size:12px}.v07 .participant-row>.participant-name{flex:1}.v07 .participants-panel .participant-row>select{padding:8px 10px}.v07 .member-add label{display:flex;align-items:center;gap:12px}.v07 .participants-panel .tiny{margin:0!important;font-size:12px!important}


.v07 .artifact-front .research-preview{padding:15px 20px;gap:8px}
.v07 .artifact-front .research-preview h3{font-size:21px;flex-shrink:0}
.v07 .artifact-front .research-preview-lines{flex-shrink:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;max-height:43px;line-height:1.7}
.v07 .artifact-front .research-preview-lines p{display:inline;margin:0}.v07 .artifact-front .research-preview-lines p:not(:first-child){display:none}
.v07 .artifact-front .research-open-question{display:none}
.v07 .artifact-front .research-open-question>p{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.v07 .artifact-front .research-note-foot{margin-top:auto;font-size:10px;padding-top:8px;border-top:1px solid var(--book-rule)}
.v07 .toggle-row input[role=switch]{appearance:none;-webkit-appearance:none;position:relative;width:40px;height:24px;border:1px solid var(--control-line);border-radius:20px;background:var(--paper-shade);transition:background .2s}
.v07 .toggle-row input[role=switch]::before{content:'';width:16px;height:16px;border-radius:50%;position:absolute;top:3px;left:3px;background:var(--ink-light);transition:transform .2s,background .2s;box-shadow:0 1px 3px #0002}
.v07 .toggle-row input[role=switch]:checked{background:var(--book-cta)}
.v07 .toggle-row input[role=switch]:checked::before{transform:translateX(16px);background:var(--book-cta-ink)}

/* v0.8. Only two supplied theme sources; prior palette layers do not drive the UI. */
.dorms-folio.v08 {background:var(--ui-bg);color:var(--ui-text);--control-radius:20px;--ring-metal:linear-gradient(90deg,#919191 0%,#f7f7f7 30%,#aaa 76%,#707070 100%);--ring-shadow:0 3px 5px #0002,inset 0 1px 1px #fff9}
.dorms-folio.v08.dark{background:var(--ui-bg);--ring-metal:linear-gradient(90deg,#505050 0%,#c8c8c8 35%,#7a7a7a 78%,#444 100%)}
.v08 :is(.ref-book,.ref-specimen,.ref-transcript){--paper:var(--book-paper,var(--ui-card));--paper-shade:var(--book-panel,var(--ui-surface));--ink:var(--book-body-ink,var(--ui-text));--ink-light:var(--book-muted,var(--ui-muted));--surface:var(--book-panel,var(--ui-raised));--border-light:var(--book-rule,var(--ui-border));--border-dark:var(--control-line,var(--ui-line-strong));--text-main:var(--ink);--text-muted:var(--ink-light);--text-dark:var(--ink-light);--bg-base:var(--paper);--bg-surface:var(--paper-shade);--bg-surface-hover:var(--surface);--bg-input:var(--paper);--border-color:var(--border-light);--hl-green-bg:var(--book-wash,var(--ui-surface));--hl-green-text:var(--book-accent,var(--ink));--hl-blue-bg:var(--ui-card);--hl-blue-text:var(--ink);--line-color:var(--border-light)}
.v08 :is(.site-header,.prototype-footer,.workspace-meta,.modal-panel,.toast,.skip-opening){color:var(--ui-text);--ink:var(--ui-text);--ink-light:var(--ui-muted);--paper:var(--ui-card);--paper-shade:var(--ui-surface);--surface:var(--ui-raised);--book-cta:var(--ui-primary);--book-cta-ink:#1C1C1C;--book-accent:var(--ui-text);--book-rule:var(--ui-border);--control-surface:var(--ui-raised);--control-line:var(--ui-border);--border-light:var(--ui-border);--border-dark:var(--ui-line-strong)}
.v08 .site-header{background:transparent;border-color:var(--ui-border);backdrop-filter:none}.v08 .site-header .brand-logo{color:var(--ui-text)}
.v08 .action{border-radius:100px;min-height:44px;background:var(--control-surface);color:var(--ink);border:1px solid var(--control-line);box-shadow:none;padding:11px 20px;font-weight:650;transition:background .18s ease,transform .18s ease,border-color .18s ease}
.v08 .action:not(.primary){background:var(--control-surface);color:var(--ink)}.v08 .action:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #00000009;border-color:var(--ink-light)}
.v08 .action.primary,.v08 .library-intro .action.primary{background:var(--book-cta,var(--ui-primary));color:var(--book-cta-ink,#1C1C1C);border:1px solid transparent;box-shadow:0 4px 20px #0000000d;border-radius:100px;filter:none}
.v08 .action.primary:hover:not(:disabled){filter:brightness(.98);box-shadow:0 6px 20px #00000014}.v08 .action:active:not(:disabled){transform:translateY(1px);box-shadow:none}.v08 button:disabled{opacity:.43}
.v08 .icon-btn{border-radius:50%;width:44px;height:44px;flex-basis:44px;background:var(--ui-raised);color:var(--ui-text);border-color:var(--ui-border);box-shadow:none}
.v08 :is(button,a,input,textarea,select,[tabindex]):focus-visible{outline:3px solid var(--ui-focus);outline-offset:4px}
.v08 :is(input,textarea,select){accent-color:var(--ink);caret-color:var(--ink)}.v08 input::placeholder,.v08 textarea::placeholder{color:var(--ink-light);opacity:1}
.v08 .segmented {background:var(--ui-raised);border-color:var(--ui-border);padding:5px;box-shadow:0 2px 7px #00000003}
.v08 .segmented button{color:var(--ui-muted)}.v08 .segmented button[aria-pressed=true],.v08.dark .segmented button[aria-pressed=true]{background:var(--ui-primary);color:#1C1C1C;box-shadow:none}
.v08 .department-filters button {border-radius:100px}.v08 .department-filters button[aria-pressed=true]{background:var(--ui-text);color:var(--ui-bg)}
.v08 .library-view{--wall-bg:var(--ui-bg);--wall-light:none;--wood-front:#BDBAAF;--wood-top:#E1DED2;--wood-side:#9B988E;background:var(--ui-bg)}
.v08.dark .library-view{--wall-bg:var(--ui-bg);--wood-front:#252525;--wood-top:#363636;--wood-side:#181818;background:var(--ui-bg)}
.v08 .library-count,.v08 .library-eyebrow{color:var(--ui-muted)}.v08 .library-intro .action.primary{background:var(--ui-primary);color:#1C1C1C}
.v08 .library-tools .search-bar{background:var(--ui-raised);border:1px solid var(--ui-line-strong);border-radius:100px;box-shadow:none}.v08 .library-tools input{color:var(--ui-text)}
.v08 .type-filter-note{display:none}.v08 .library-tools,.v08 .department-heading{border-color:var(--ui-border)}.v08 .classification-number{border-radius:7px;border-color:var(--ui-border);background:var(--ui-card);color:var(--ui-muted);font-weight:650}
.v08 .shelf-front{box-shadow:0 9px 20px #00000012;border-color:#ffffff55}.v08.dark .shelf-front{box-shadow:0 9px 20px #0008;border-color:#ffffff10}.v08 .shelf-shadow{opacity:.6}
.v08 .bookend{border-color:var(--ui-text);opacity:.6}.v08 .empty-book{color:var(--ui-muted);border-color:var(--ui-line-strong)}.v08 .empty-book:hover{color:var(--ui-text);background:var(--ui-card)}
.v08 .book-pages{background-color:#F1EFE8;border-color:#D0CDC1}.v08.dark .book-pages{background-color:#777771;border-color:#4C4C48}
.v08 .department-heading>button{color:var(--ui-text);background:var(--ui-card);border-color:var(--ui-border)}.v08 .book-record-tag{color:var(--book-foreground);opacity:1}
.v08 .project-type-pill.app{background:var(--ui-primary);color:#1C1C1C;border-color:transparent}.v08 .project-type-pill.research{background:var(--ui-secondary);color:#1C1C1C;border-color:transparent}
.v08 .type-research .book-spine::after{background:var(--book-decoration);border:1px solid #0002}.v08 .shelf-book .cover-content,.v08 .cover-sample .cover-content,.v08 .flight-front .cover-content{color:var(--book-foreground)}
.v08 .cover-border{border-color:currentColor;color:var(--book-foreground);opacity:.28}.v08 .cover-classic .cover-border{box-shadow:inset 0 0 0 4px var(--book-color),inset 0 0 0 5px var(--book-foreground)}
.v08 .cover-content>small,.v08 .cover-subtitle,.v08 .cover-symbol{opacity:1}.v08 .cover-modern .cover-border{border-top:5px solid var(--book-decoration);border-bottom:1px solid var(--book-foreground)}
.v08 .cover-face{position:absolute;inset:0;border-radius:inherit;overflow:hidden;color:var(--book-foreground);pointer-events:none}
.v08 .full-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:1;filter:none;mix-blend-mode:normal;z-index:1;max-width:none}
.v08 .book-spine .full-cover-image{object-fit:cover;object-position:center}
.v08 .center-cover-art{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);height:auto;max-height:42%;object-fit:contain;z-index:2;max-width:105%;filter:none}
.v08 .has-artwork:not(.is-spine) .cover-content>strong{position:absolute;top:16%;left:9%;right:9%;margin:0;font-size:27px;line-height:1.3;max-height:25%;overflow:hidden}
.v08 .has-artwork:not(.is-spine) .cover-subtitle{position:absolute;bottom:13%;left:10%;right:10%;margin:0;width:80%;font-size:13px}
.v08 .has-artwork:not(.is-spine) .cover-signature{position:absolute;bottom:5%;left:0;right:0}
.v08 .has-artwork.is-spine .center-cover-art{top:auto;bottom:25px;transform:translateX(-50%);max-height:33px;opacity:.95}
.v08 .has-artwork.is-spine .cover-content>strong{max-height:calc(100% - 88px)}.v08 .has-artwork.is-spine .cover-signature{display:none}
.v08 .is-photo:not(.is-spine) .cover-content{justify-content:flex-end;gap:10px;padding:8%;align-items:flex-start;text-align:left}
.v08 .is-photo:not(.is-spine) .cover-content>strong{margin:0;font-family:var(--font-sans);font-size:27px;line-height:1.4;font-weight:700;width:100%}
.v08 .is-photo:not(.is-spine) .cover-content>small{position:absolute;top:8%;left:8%;right:8%;width:84%}
.v08 .is-photo:not(.is-spine) .cover-subtitle{margin:0;font-size:13px;max-width:100%}.v08 .is-photo:not(.is-spine) .cover-signature{font-size:14px}
.v08 .is-photo.with-title-plate:not(.is-spine) .cover-content::before{content:'';position:absolute;bottom:0;left:0;right:0;height:48%;background:var(--cover-title-plate);opacity:1;z-index:-1}
.v08 .is-photo.with-title-plate:not(.is-spine) .cover-content>small{background:var(--cover-title-plate);padding:6px 8px;border-radius:4px}
.v08 .is-photo.is-spine .cover-content{background:var(--cover-title-plate);margin:5px;inset:0;opacity:.98}.v08 .is-photo.is-spine .cover-content strong{font-size:17px}.v08 .is-photo.image-only~*{opacity:1}
.v08 .book-side.has-cover-photo{background-size:cover;background-position:center;box-shadow:inset -6px 0 12px #0003}
.v08 .ref-book.folio-wrapper{background:var(--binder)}.v08 .ref-book .page-spread{background:var(--paper)}
.v08 .ref-book .page-left{background:linear-gradient(to right,var(--paper) 91%,var(--paper-shade));color:var(--ink)}
.v08 .ref-book .page-right{background:linear-gradient(to left,var(--paper) 91%,var(--paper-shade));color:var(--ink)}
.v08 .ref-book :is(h1,h2,h3,h4,.brand-mark>span:first-child){color:var(--book-heading-ink)}
.v08 .ref-book .hero-headline,.v08 .research-main h2{color:var(--book-heading-ink)}
.v08 .ref-book .tab{background:var(--binder);color:var(--book-foreground);border-color:var(--book-rule)}.v08 .ref-book .tab.active{background:var(--paper);color:var(--book-heading-ink);box-shadow:inset 3px 0 0 var(--book-cta),3px 2px 10px #0001}
.v08 .ref-book .tabs-container{color:var(--book-foreground)}.v08 .ref-book .folio-actions{background:var(--paper);border-color:var(--book-rule)}
.v08 .ref-book .folio-actions .action.primary{background:var(--book-cta);color:var(--book-cta-ink)}
.v08 .ref-book .folio-actions .action:not(.primary){color:var(--ink);background:transparent}.v08 .ref-book .page-number{color:var(--ink-light)}
.v08 .workspace-meta .action[aria-pressed=true]{border-color:var(--ui-text);background:var(--ui-primary);color:#1C1C1C}
.v08 .artifact-face{background:var(--book-panel);border-color:var(--book-rule);color:var(--book-body-ink)}.v08 .artifact-front{box-shadow:0 14px 28px #0000000b}.v08 .artifact-back{background:var(--book-panel);color:var(--ink)}
.v08 .artifact-back h3,.v08 .plate-footer h3{color:var(--book-heading-ink)}.v08 .plate-footer,.v08 .plate-header{background:var(--book-panel);color:var(--ink);border-color:var(--book-rule)}
.v08 .back-source,.v08 .source-snapshot,.v08 .context-packet,.v08 .diff-card,.v08 .review-state,.v08 .review-block{background:var(--surface);color:var(--ink);border-color:var(--border-light)}
.v08 .artifact-utilities button,.v08 .preview-topline,.v08 .preview-bottomline,.v08 .preview-note{color:var(--ink-light)}
.v08 :is(.app-preview,.auxiliary-preview,.research-preview,.question-samples,.observation-sample){background:var(--book-panel,var(--ui-card));color:var(--ink)}
.v08 :is(.mini-calendar,.mini-timetable,.sample-attendance,.counsel-prompts) button{background:var(--paper);color:var(--ink);border-color:var(--border-light)}
.v08 :is(.mini-calendar,.mini-timetable,.sample-attendance) button.chosen{background:var(--book-cta);color:var(--book-cta-ink)}
.v08 .preview-instruction,.v08 .blackboard,.v08 .research-open-question{background:var(--book-wash,var(--ui-surface));color:var(--ink);border-color:var(--book-rule)}
.v08 .seats .seat-desk{background:var(--book-cta,var(--ui-primary));border-color:var(--book-accent,var(--ui-text))}.v08 .seats .seat{color:var(--ink)}
.v08 .avatar{color:var(--ui-text);background:var(--ui-surface);border-color:var(--ui-border)}.v08 .avatar.olive{background:var(--ui-primary);color:#1C1C1C}.v08 .avatar.gold{background:var(--ui-secondary);color:#1C1C1C}.v08 .avatar.blue{background:var(--ui-card);color:var(--ui-text);border:1px solid var(--ui-line-strong)}.v08 .avatar.ink{background:var(--ui-text);color:var(--ui-bg)}
.v08 .badge{color:var(--ink-light);background:var(--surface);border:1px solid var(--border-light)}.v08 .badge.sage{background:var(--ui-success-bg);color:var(--ui-success);border-color:transparent}.v08 .badge.gold{background:var(--ui-secondary);color:#1C1C1C;border-color:transparent}
.v08 .badge.blue{background:var(--ui-primary);color:#1C1C1C;border-color:transparent}.v08 .error-text,.v08.dark .error-text{color:var(--ui-danger)}
.v08 .credit-bar :first-child{background:var(--ui-primary)}.v08 .credit-bar :nth-child(2){background:var(--ui-secondary)}
.v08 .inv-chip.sage{background:var(--book-cta)}.v08 .inv-chip.blue{background:var(--ui-secondary)}
.v08 .ref-specimen .inventory-item.selected{background:var(--book-wash,var(--ui-card));border-color:var(--book-rule)}.v08 .ref-specimen .inventory-item.selected .inv-name{color:var(--ink)}
.v08 .hl-green,.v08 .hl-blue{background:var(--book-wash,var(--ui-card));color:var(--ink)}
.v08 .research-main .shared-summary,.v08 .research-main section,.v08 .source-list,.v08 .meeting-card{border-color:var(--book-rule)}.v08 .research-main .open-question-box{background:var(--surface);color:var(--ink)}
.v08 .consensus-summary,.v08 .policy-section,.v08 .governance-summary,.v08 .source-card,.v08 .material-card{background:var(--surface);color:var(--ink);border-color:var(--border-light)}
.v08 .graph-stage{background-color:var(--ui-card);background-image:radial-gradient(var(--ui-border) 1px,transparent 1px)}.v08 .graph-node{background:var(--ui-raised);color:var(--ui-text);border-color:var(--ui-border)}
.v08 .graph-node.selected{border-color:var(--ui-primary);box-shadow:0 0 0 2px var(--ui-primary)}
.v08 .modal-panel,.v08.dark .modal-panel{background:var(--ui-card);border:1px solid var(--ui-border);border-radius:32px;box-shadow:0 30px 90px #0003}
.v08 .modal-panel.wide{max-width:1050px;width:calc(100% - 32px)}.v08 .modal-panel>header{border-color:var(--ui-border);margin-bottom:23px}.v08 .modal-panel>header h2{font:700 29px/1.4 var(--font-sans);letter-spacing:-.045em}
.v08 .modal-shade{background:rgba(10,10,10,.40);backdrop-filter:blur(8px)}
.v08 .modal-panel :is(h1,h2,h3,h4){color:var(--ui-text)}.v08 .modal-panel :is(.caption,.tiny){color:var(--ui-muted)}
.v08 .modal-panel :is(input:not([type=color]):not([type=checkbox]):not([type=range]),textarea,select){background:var(--ui-raised);color:var(--ui-text);border:1px solid var(--ui-line-strong);border-radius:15px}
.v08 .toast{background:var(--ui-text);color:var(--ui-bg);border-radius:100px;border:0}.v08 .pending-status{background:var(--ui-primary);color:#1C1C1C}
/* Cover editor: image editing is separate from actual project updates. */
.v08 .book-editor.editor08{grid-template-columns:minmax(0,1fr);gap:22px;align-items:start}
.v08 .editor-live-preview{position:sticky;top:0;padding:20px;background:var(--ui-raised);border:1px solid var(--ui-border);border-radius:24px;min-width:0}
.v08 .preview-view-switch{display:flex;gap:5px;background:var(--ui-surface);border-radius:100px;padding:4px;margin-bottom:22px}
.v08 .preview-view-switch button{border:0;background:transparent;color:var(--ui-muted);font-size:13px;padding:7px 12px;border-radius:100px;flex:1}
.v08 .preview-view-switch [aria-pressed=true]{background:var(--ui-card);color:var(--ui-text);box-shadow:0 1px 4px #0001}
.v08 .cover-showcase{display:flex;gap:12px;justify-content:center;align-items:center;min-height:332px;padding:12px 0 18px;perspective:1200px}
.v08 .cover-sample{width:230px;height:auto;aspect-ratio:5/7;flex-shrink:1;box-shadow:6px 12px 18px #0002,inset 5px 0 5px #fff2;border-radius:4px 12px 12px 4px;color:var(--book-foreground);isolation:isolate}
.v08 .cover-sample::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 6px 0 5px #0002,inset 8px 0 1px #fff2;z-index:7;border-radius:inherit}
.v08 .cover-sample .cover-content{padding:22px}.v08 .cover-sample .cover-content>strong{font-size:25px;font-weight:700;line-height:1.45;letter-spacing:-.05em}
.v08 .cover-sample .cover-content>small{font-size:9px;letter-spacing:.06em}.v08 .cover-sample .cover-subtitle{font-size:12px;line-height:1.7}.v08 .cover-sample .cover-signature{font-size:17px}
.v08 .mini-spine{width:27px;height:292px;flex-shrink:0;background:var(--book-color);color:var(--book-foreground);border-radius:5px;writing-mode:vertical-rl;text-orientation:upright;padding:22px 5px;font:650 12px/1.2 var(--font-sans);letter-spacing:2px;box-shadow:2px 7px 10px #0002;overflow:hidden}
.v08 .preview-caption{display:flex;justify-content:space-between;gap:8px;color:var(--ui-muted);font-size:10px;margin-top:8px}
.v08 .palette-seed-strip{display:flex;gap:6px;margin-top:22px;justify-content:center}.v08 .palette-seed-strip i{width:28px;height:7px;border-radius:5px;box-shadow:inset 0 0 0 1px #00000008}
.v08 .book-info-settings{border:1px solid var(--ui-border);border-radius:16px;padding:12px 16px}.v08 .book-info-settings summary{font-size:14px;font-weight:650;cursor:pointer;color:var(--ui-text)}.v08 .book-info-settings label{margin-top:16px}.v08 .book-editor .editor-two{grid-template-columns:120px minmax(0,1fr);gap:12px}
.v08 .book-editor-fields{gap:22px;min-width:0}.v08 .editor-section-tabs{display:flex;gap:6px;border-bottom:1px solid var(--ui-border);padding-bottom:12px}
.v08 .editor-section-tabs button{flex:1;background:transparent;color:var(--ui-muted);border:0;border-radius:100px;padding:10px;font-size:15px;font-weight:650}
.v08 .editor-section-tabs [aria-pressed=true]{background:var(--ui-text);color:var(--ui-bg)}.v08 .book-editor legend{font-size:15px;margin-bottom:13px}
.v08 .palette-pairs{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v08 .palette-pairs>button{background:var(--ui-raised);border:1px solid var(--ui-border);border-radius:18px;min-height:72px;padding:10px;color:var(--ui-text);gap:12px;box-shadow:none}
.v08 .palette-pairs>button[aria-pressed=true]{border:2px solid var(--ui-text);padding:9px;background:var(--ui-card);box-shadow:none}.v08 .paired-swatches{width:37px;height:50px;border-radius:3px 7px 7px 3px;position:relative}
.v08 .paired-swatches b{position:absolute;top:7px;left:9px;font:700 15px var(--font-sans)}.v08 .paired-swatches i{width:20px;height:5px;border:1px solid #0001}
.v08 .palette-pairs>button>span:nth-child(2){font-size:13px}.v08 .palette-pairs>button>span:nth-child(2) small{display:block;font:400 10px/1.5 var(--font-sans);color:var(--ui-muted);margin-top:3px}
.v08 .color-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.v08 .color-field{min-width:0}.v08 .color-field-label{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:8px;font-size:12px;color:var(--ui-text);flex-wrap:wrap}
.v08 .color-field-label small{font-size:9px;font-variant-numeric:tabular-nums}.v08 .contrast-pass{color:var(--ui-success)}.v08 .contrast-warn{color:var(--ui-danger)}
.v08 .color-field-input{display:flex;align-items:center;gap:9px;background:var(--ui-raised);border:1px solid var(--ui-line-strong);border-radius:14px;padding:9px}
.v08 .color-field-input input[type=color]{padding:0;border:0;width:30px;height:30px;min-height:0;flex:none;background:transparent;border-radius:7px;overflow:hidden;cursor:pointer}
.v08 .color-field-input input[type=text]{width:100%;border:0!important;min-height:0;background:transparent!important;padding:0!important;font:500 13px/1.4 'Manrope',monospace;letter-spacing:.015em;text-transform:uppercase;border-radius:0}
.v08 .color-reset{background:transparent;border:0;text-decoration:underline;color:var(--ui-muted);font-size:10px}
.v08 .contrast-notice{display:flex;align-items:flex-start;flex-direction:column;gap:8px;padding:12px 14px;background:var(--ui-danger-bg);color:var(--ui-danger);border-radius:14px;font-size:12px}
.v08 .contrast-notice button{padding:0;border:0;background:transparent;color:inherit;text-decoration:underline;font-size:12px;font-weight:700}
.v08 .cover-style-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.v08 .cover-style-options>button{display:flex;align-items:center;flex-direction:column;gap:8px;padding:10px 4px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-raised);color:var(--ui-text);font-size:12px;min-width:0}
.v08 .cover-style-options>button[aria-pressed=true]{outline:2px solid var(--ui-text);outline-offset:0}.v08 .style-swatch{width:29px;height:40px;border-radius:2px 5px 5px 2px}
.v08 .image-mode-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.v08 .image-mode-choices button{display:flex;flex-direction:column;align-items:center;gap:11px;padding:17px 7px;border-radius:18px;background:var(--ui-raised);color:var(--ui-muted);border:1px solid var(--ui-border);font-size:12px}
.v08 .image-mode-choices [aria-pressed=true]{background:var(--ui-primary);color:#1C1C1C;border-color:transparent}.v08 .image-upload-zone{border:1px dashed var(--ui-line-strong);border-radius:22px;background:var(--ui-raised);display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;padding:26px 18px;color:var(--ui-text)}
.v08 .image-upload-zone strong{font-size:16px}.v08 .image-upload-zone>span{font-size:12px;color:var(--ui-muted)}.v08 .image-upload-zone .action{margin-top:8px;font-size:14px;background:var(--ui-text);color:var(--ui-bg)}
.v08 .editor-hint{margin:0;font-size:12px;line-height:1.8;color:var(--ui-muted)}.v08 .editor08 .check-row{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:13px;color:var(--ui-text)}.v08 .editor08 .check-row input{width:18px;min-width:18px;height:18px;padding:0}
.v08 .editor-mode-row{display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:14px;font-weight:650}.v08 .editor-mode-row .segmented button{padding:7px 13px;font-size:12px}
.v08 .mini-spread{display:flex;flex-direction:column;gap:13px}.v08 .mini-page{padding:19px 22px;border-radius:4px 16px 16px 4px;box-shadow:0 3px 10px #0001;line-height:1.7;border:1px solid #80808020}
.v08 .mini-page>div{display:flex;justify-content:space-between;color:var(--mini-muted);font:500 9px 'Manrope',sans-serif}.v08 .mini-page h3{font:700 21px/1.45 var(--font-display);margin:14px 0 8px;color:var(--mini-title)!important;letter-spacing:-.05em}
.v08 .mini-page p{font-size:13px;margin:0 0 4px}.v08 .mini-page small{font-size:11px;color:var(--mini-muted)}.v08 .mini-page-button{display:flex;gap:8px;align-items:center;justify-content:center;border-radius:100px;background:var(--mini-accent);color:var(--mini-button);font-size:11px;padding:8px 12px;margin-top:16px}
.v08 .editor-actions{padding:17px 0 0;border-top:1px solid var(--ui-border);display:flex;gap:10px;justify-content:flex-end}.v08 .editor-actions .action{font-size:14px;min-height:44px}
.v08 .editor-actions .action.primary{padding-inline:30px}.v08 .editor-live-preview .cover-content{word-break:keep-all;overflow-wrap:break-word}
/* Cropping controls preserve source aspect ratio; pointer, keyboard and sliders agree. */
.v08 .crop-heading{display:flex;justify-content:space-between;align-items:center;font-size:16px;margin-bottom:15px}.v08 .crop-heading>span{font-size:11px;padding:5px 10px;border-radius:100px;background:var(--ui-surface);color:var(--ui-muted)}
.v08 .crop-frame{position:relative;width:min(100%,230px);aspect-ratio:5/7;overflow:hidden;margin:0 auto;border-radius:6px;background:var(--ui-surface);border:1px solid var(--ui-line-strong);touch-action:none;cursor:grab;isolation:isolate}
.v08 .crop-frame:active{cursor:grabbing}.v08 .crop-frame img{position:absolute;object-fit:fill;max-width:none;pointer-events:none;user-select:none}
.v08 .crop-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 33.1%,#fff9 33.1%,#fff9 33.4%,transparent 33.4%,transparent 66.4%,#fff9 66.4%,#fff9 66.7%,transparent 66.7%),linear-gradient(0deg,transparent 33.1%,#fff9 33.1%,#fff9 33.4%,transparent 33.4%,transparent 66.4%,#fff9 66.4%,#fff9 66.7%,transparent 66.7%);pointer-events:none;box-shadow:inset 0 0 0 2px #fff8}
.v08 .crop-tip{text-align:center;font-size:11px;color:var(--ui-muted);margin:11px 0 14px}.v08 .editor08 .slider-row{display:flex;flex-direction:row;align-items:center;gap:12px;flex-wrap:nowrap;font-size:12px}
.v08 .editor08 .slider-row input[type=range]{flex:1;width:80px;min-width:50px;padding:0;accent-color:var(--ui-text);border:0;background:transparent;min-height:28px;cursor:pointer}
.v08 .slider-row output{font:500 11px 'Manrope',sans-serif;min-width:42px;text-align:right}.v08 .crop-fine{font-size:12px;color:var(--ui-muted);margin:12px 0}.v08 .crop-fine summary{cursor:pointer;margin-bottom:12px}.v08 .crop-fine .slider-row{margin-top:8px}
.v08 .crop-actions{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-top:13px;flex-wrap:wrap}.v08 .crop-actions .action{font-size:12px;padding:9px 14px;min-height:38px}
@media(max-width:1100px) and (min-width:801px){.v08 .book-editor.editor08{grid-template-columns:minmax(0,1fr);gap:22px}.v08 .editor-live-preview{padding:16px}.v08 .cover-sample{width:200px}.v08 .mini-spine{height:265px}}
.v08 .lib-cover-controls-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;padding:18px;border:1px solid var(--ui-border);border-radius:18px;background:var(--ui-raised)}
.v08 .lib-draft-preview{position:fixed;inset:0;z-index:10030;overflow:auto;padding:24px;background:var(--ui-bg)}
.v08 .lib-draft-preview-inner{width:min(100%,800px);margin:auto;display:flex;flex-direction:column;gap:18px}
.v08 .lib-draft-preview-inner>.action{align-self:flex-start}
@media(max-width:800px){.v08 .lib-cover-controls-panel{grid-template-columns:1fr;padding:14px}.v08 .lib-draft-preview{padding:12px}}
@media(max-width:800px){.v08 .site-header .icon-btn{width:40px;height:40px;flex-basis:40px}.v08 .library-intro .action.primary{font-size:13px;min-height:42px;padding:10px 14px}.v08 .department-filters button{border-radius:100px}.v08 .workspace-meta{flex-wrap:wrap;row-gap:12px}.v08 .workspace-meta>div{flex-wrap:wrap;gap:5px}.v08 .workspace-meta .action{min-height:36px;padding:7px 10px;font-size:11px}.v08 .ref-book .tabs-container{background:var(--binder-dark)}.v08 .ref-book .tab.active{box-shadow:inset 0 3px 0 var(--book-cta)}.v08 .ref-book .page-left{background:linear-gradient(to bottom,var(--paper) 92%,var(--paper-shade))}.v08 .ref-book .page-right{background:linear-gradient(to top,var(--paper) 92%,var(--paper-shade))}
.v08 .modal-panel,.v08.dark .modal-panel{border-radius:24px;padding:23px 18px}.v08 .modal-panel.wide{width:100%;max-width:100%}.v08 .modal-panel>header h2{font-size:25px}.v08 .book-editor.editor08{display:flex;flex-direction:column;gap:22px}.v08 .editor-live-preview{position:relative;top:auto;width:100%;padding:15px 18px}.v08 .cover-showcase{min-height:0;padding:4px 0 8px}.v08 .cover-sample{width:135px;height:auto;aspect-ratio:5/7;flex-shrink:0}.v08 .mini-spine{height:170px;width:23px;font-size:9px;letter-spacing:1px;padding:11px 4px}.v08 .preview-view-switch{margin-bottom:12px}.v08 .cover-sample .cover-content{padding:13px}.v08 .cover-sample .cover-content>strong{font-size:17px;line-height:1.4}.v08 .cover-sample .cover-content>small{font-size:6px}.v08 .cover-sample .cover-subtitle{font-size:8px;margin-bottom:8px}.v08 .cover-sample .cover-signature{font-size:11px}.v08 .cover-sample .cover-symbol{margin-bottom:10px}.v08 .cover-sample .cover-symbol svg{width:20px;height:20px}.v08 .cover-sample .cover-kind-label{font-size:6px}.v08 .palette-seed-strip{margin-top:11px}.v08 .preview-caption{font-size:9px}.v08 .book-editor-fields{width:100%;gap:18px}.v08 .book-editor .editor-two{grid-template-columns:1fr}.v08 .editor-section-tabs{position:sticky;top:0;z-index:10;background:var(--ui-card);padding-top:3px}.v08 .editor-section-tabs button{font-size:13px;padding:9px}.v08 .palette-pairs{gap:7px}.v08 .palette-pairs>button{padding:8px;gap:8px}.v08 .palette-pairs>button[aria-pressed=true]{padding:7px}.v08 .paired-swatches{width:31px;height:44px}.v08 .paired-swatches b{font-size:13px;left:6px}.v08 .palette-pairs>button>span:nth-child(2){font-size:12px}.v08 .palette-pairs>button>span:nth-child(2) small{font-size:9px}.v08 .color-field-grid{gap:13px 10px}.v08 .color-field-label{font-size:12px}.v08 .color-field-label small{font-size:9px}.v08 .color-field-input input[type=text]{font-size:12px}.v08 .color-field-input{padding:8px;gap:7px}.v08 .color-field-input input[type=color]{width:27px;height:27px}.v08 .mini-spread{flex-direction:row;gap:8px}.v08 .mini-page{flex:1;min-width:0;padding:12px 9px}.v08 .mini-page h3{font-size:16px}.v08 .mini-page p{font-size:10px}.v08 .mini-page small{font-size:9px}.v08 .mini-page-button{font-size:8px;padding:7px 4px;gap:3px}.v08 .mini-page-button svg{width:11px}.v08 .cover-sample .has-artwork:not(.is-spine) .cover-content>strong{font-size:17px}.v08 .cover-sample .has-artwork:not(.is-spine) .cover-subtitle{font-size:8px}.v08 .cover-sample .is-photo:not(.is-spine) .cover-content>strong{font-size:17px}.v08 .cover-sample .is-photo:not(.is-spine) .cover-signature{font-size:9px}.v08 .cover-sample .is-photo:not(.is-spine) .cover-subtitle{font-size:8px}.v08 .editor-actions{position:sticky;bottom:-24px;background:var(--ui-card);padding:15px 0 max(17px,env(safe-area-inset-bottom));z-index:11}.v08 .editor-actions .action{flex:1}.v08 .image-mode-choices button{font-size:11px;gap:8px;padding:13px 4px}}
@media(prefers-reduced-motion:reduce){.v08 .action,.v08 .icon-btn,.v08 .segmented button,.v08 .palette-pairs>button{transition:none;transform:none}}
.v08 .folio-wrapper :is(.education-context p,.segment-text,.research-preview-lines p,.shared-summary p,.preview-instruction,.open-question-box p){color:var(--book-body-ink)}
.v08 .folio-wrapper :is(.calendar-title strong,.calendar-title span,.mini-calendar .marked,.mini-calendar .today){color:var(--book-body-ink)}
.v08 .folio-wrapper .calendar-title{color:var(--book-body-ink)}
.v08 .cover-content>strong{color:var(--book-foreground)}
.v08 .modal-panel .cover-content>strong{color:var(--book-foreground)}
.v08 .ref-book .tab{color:var(--book-tab-ink,var(--book-foreground))}.v08 .ref-book .tab.active{color:var(--book-heading-ink)}
.v08 .mini-page{border-left:5px solid var(--mini-frame)}
.v08 .ref-book .binder-backing{background:var(--binder)}

.coffee-archive 500&family=Playfair+Display:ital,.coffee-archive wght@0,.coffee-archive 400;0,.coffee-archive 500;1,.coffee-archive 400&display=swap');

:root {
    --bg: #030303;
    --text-primary: #FFFFFF;
    --text-secondary: #888888;
    --text-accent: #B0B0B0;
    --font-display: 'Playfair Display', serif;
    --font-ui: 'Inter', sans-serif;
    --container-width: 1400px;
    --card-w: 320px;
    --card-h: 460px;
    --card-radius: 24px;
}.coffee-archive * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}.coffee-archive {
    background-color: var(--bg);
    color: var(--text-primary);
    font-family: var(--font-ui);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    selection-background: #333;
    selection-color: #fff;
}.coffee-archive header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 40px 60px;
    width: 100%;
    z-index: 100;
}.coffee-archive .brand {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: 14px;
    letter-spacing: -0.02em;
    display: flex;
    align-items: center;
    gap: 12px;
}.coffee-archive .brand span {
    color: var(--text-secondary);
}.coffee-archive nav {
    display: flex;
    gap: 40px;
}.coffee-archive nav a {
    color: var(--text-primary);
    text-decoration: none;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.01em;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}.coffee-archive nav a:hover {
    opacity: 1;
}.coffee-archive .hero {
    text-align: center;
    margin-top: 8vh;
    margin-bottom: 6vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    z-index: 10;
}.coffee-archive .hero h1 {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 56px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    max-width: 600px;
}.coffee-archive .hero p {
    font-family: var(--font-ui);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 8px;
}.coffee-archive .hero p::before,.coffee-archive .hero p::after {
    content: '';
    display: block;
    width: 12px;
    height: 1px;
    background-color: var(--text-secondary);
    opacity: 0.5;
}.coffee-archive .showcase-container {
    position: relative;
    width: 100%;
    height: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
    perspective: 1400px;
    overflow: visible;
}.coffee-archive .scene {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transform-style: preserve-3d;
}.coffee-archive .product-card {
    position: absolute;
    width: var(--card-w);
    height: var(--card-h);
    border-radius: var(--card-radius);
    overflow: hidden;
    background-color: #111;
    cursor: pointer;
    transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), 
                box-shadow 0.6s cubic-bezier(0.2, 0.8, 0.2, 1),
                filter 0.6s ease;
    box-shadow: 0 30px 60px rgba(0,0,0,0.8);
    will-change: transform;
}.coffee-archive .product-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    transition: transform 0.8s ease;
}.coffee-archive .product-card:hover img {
    transform: scale(1.05);
}.coffee-archive .product-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.4) 40%, rgba(0,0,0,0) 100%);
    z-index: 2;
}.coffee-archive .card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 32px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 12px;
}.coffee-archive .meta-data {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--font-ui);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--text-accent);
    opacity: 0.8;
}.coffee-archive .meta-tag {
    border: 1px solid rgba(255,255,255,0.2);
    padding: 4px 8px;
    border-radius: 4px;
    backdrop-filter: blur(4px);
}.coffee-archive .product-title {
    font-family: var(--font-display);
    font-size: 28px;
    line-height: 1.1;
    color: var(--text-primary);
}.coffee-archive .product-desc {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 14px;
    color: var(--text-secondary);
}.coffee-archive .action-layer {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.4s ease;
    background: rgba(0,0,0,0.3);
}.coffee-archive .add-btn {
    background: var(--text-primary);
    color: var(--bg);
    border: none;
    padding: 12px 24px;
    border-radius: 30px;
    font-family: var(--font-ui);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transform: translateY(10px);
    transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}.coffee-archive .product-card:hover .action-layer {
    opacity: 1;
}.coffee-archive .product-card:hover .add-btn {
    transform: translateY(0);
}.coffee-archive .card-1 {
    transform: translateX(-120%) translateZ(-400px) rotateY(30deg);
    z-index: 1;
    filter: brightness(0.4) blur(2px);
}.coffee-archive .card-2 {
    transform: translateX(-65%) translateZ(-150px) rotateY(15deg);
    z-index: 2;
    filter: brightness(0.7);
}.coffee-archive .card-3 {
    transform: translateX(0) translateZ(50px) rotateY(0deg);
    z-index: 5;
    box-shadow: 0 40px 80px rgba(0,0,0,0.9), 0 0 0 1px rgba(255,255,255,0.1);
}.coffee-archive .card-4 {
    transform: translateX(65%) translateZ(-150px) rotateY(-15deg);
    z-index: 2;
    filter: brightness(0.7);
}.coffee-archive .card-5 {
    transform: translateX(120%) translateZ(-400px) rotateY(-30deg);
    z-index: 1;
    filter: brightness(0.4) blur(2px);
}.coffee-archive .scene:hover .product-card {
    filter: brightness(0.3) blur(4px);
}.coffee-archive .scene .product-card:hover {
    transform: translateX(var(--hover-x, 0)) translateZ(100px) rotateY(0deg);
    z-index: 10;
    filter: brightness(1) blur(0);
    box-shadow: 0 50px 100px rgba(0,0,0,0.9), 0 0 0 1px rgba(255,255,255,0.2);
}.coffee-archive .card-1 { --hover-x: -100%; }.coffee-archive .card-2 { --hover-x: -50%; }.coffee-archive .card-3 { --hover-x: 0%; }.coffee-archive .card-4 { --hover-x: 50%; }.coffee-archive .card-5 { --hover-x: 100%; }.coffee-archive .system-bar {
    margin-top: auto;
    padding: 24px 60px;
    display: flex;
    justify-content: space-between;
    border-top: 1px solid rgba(255,255,255,0.05);
    font-family: var(--font-ui);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-secondary);
}.coffee-archive .sys-group {
    display: flex;
    gap: 32px;
}.coffee-archive .sys-item {
    display: flex;
    gap: 8px;
}.coffee-archive .sys-val {
    color: var(--text-primary);
}

@media (max-width: 1024px) {
    .coffee-archive .hero h1 { font-size: 42px; }.coffee-archive .card-1,.coffee-archive .card-5 { display: none; }.coffee-archive .card-2 { transform: translateX(-55%) translateZ(-100px) rotateY(15deg); }.coffee-archive .card-4 { transform: translateX(55%) translateZ(-100px) rotateY(-15deg); }
}
/* Only the new home surface and the home reader layer. Existing desktop book CSS is not targeted. */
.home-header.home-header .home-brand-note{font-size:12px;color:var(--ui-muted);letter-spacing:-.01em;margin-left:6px}
.home-header .header-right nav{display:flex;align-items:center;gap:28px;margin-right:14px}
.home-header .header-right nav button{display:flex;align-items:center;gap:9px;border:0;background:none;padding:10px 0;font-size:14px;color:var(--ui-muted);white-space:nowrap}
.home-header .header-right nav .home-nav-active{color:var(--ui-text);font-weight:750;position:relative}
.home-nav-active::after{content:'';position:absolute;bottom:0;left:40%;width:4px;height:4px;background:var(--ui-text);border-radius:50%}
.home-header .home-profile{width:38px;height:38px;border-radius:50%;background:var(--ui-text);color:var(--ui-bg);border:0;margin-left:5px;font-size:13px}
.community-home{--home-gap:54px;width:min(1440px,100%);margin:0 auto;padding:42px 44px 0;color:var(--ui-text);font-family:var(--font-sans);font-size:16px;position:relative}
.home-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--home-gap);align-items:start}
.home-left{min-width:0;position:sticky;top:28px;align-self:start}
.home-right{min-width:0;padding-left:32px;border-left:1px solid var(--ui-border);scroll-margin-top:20px}
.home-eyebrow{display:flex;gap:10px;align-items:center;font:500 10px/1.6 'Manrope',var(--font-sans);letter-spacing:.17em;color:var(--ui-muted);margin-bottom:21px}
.home-live-dot{width:7px;height:7px;display:block;border-radius:50%;background:var(--ui-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--ui-primary) 20%,transparent)}
.dorms-folio .home-intro h1{font:600 clamp(30px,2.85vw,44px)/1.52 var(--font-display);letter-spacing:-.065em;word-break:keep-all;white-space:nowrap;margin:0}
.home-underline{position:relative;isolation:isolate}
.home-underline::after{content:'';position:absolute;left:-2px;right:-1px;height:29%;bottom:1px;background:var(--ui-primary);z-index:-1;transform:rotate(-1.3deg);border-radius:3px}
.dark .home-underline::after{opacity:.26}
.home-period{color:var(--ui-secondary);padding-left:2px}
.dorms-folio .home-intro-note{font-size:14px;color:var(--ui-muted);margin-top:12px;letter-spacing:-.02em}
.home-preferences{margin-top:28px;display:flex;flex-direction:column;gap:12px}
.home-first-filter{display:flex;gap:18px;align-items:center;justify-content:space-between}
.home-school-filter{display:flex;align-items:center;gap:4px}
.home-school-filter>span,.home-category-filter>span{font-size:11px;color:var(--ui-muted);margin-right:10px;white-space:nowrap}
.home-school-filter button{border:1px solid transparent;background:transparent;color:var(--ui-muted);min-width:34px;min-height:34px;padding:5px 10px;border-radius:100px;font-size:13px}
.home-school-filter button[aria-pressed=true]{background:var(--ui-text);color:var(--ui-bg);border-color:transparent}
.home-school-filter button:hover:not([aria-pressed=true]){background:var(--ui-card);border-color:var(--ui-border)}
.home-subject{position:relative;width:137px;flex:none}
.dorms-folio .home-subject select{appearance:none;width:100%;border:1px solid var(--ui-border);border-radius:100px;background:var(--ui-card);padding:7px 32px 7px 15px;min-height:36px;font-size:12px;color:var(--ui-text)}
.home-subject>span:last-child{position:absolute;right:14px;top:4px;pointer-events:none;color:var(--ui-muted)}
.home-category-filter{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.home-category-filter>span{margin-right:8px}
.home-category-filter button{border:1px solid var(--ui-border);border-radius:100px;background:transparent;color:var(--ui-muted);font-size:12px;min-height:33px;padding:5px 12px;white-space:nowrap}
.home-category-filter button[aria-pressed=true]{background:var(--ui-primary);border-color:var(--ui-primary);color:#1C1C1C}
.home-category-filter button:hover{border-color:var(--ui-text)}
.home-search-line{display:flex;align-items:center;gap:15px;margin-top:17px;position:relative;z-index:25;min-height:94px}
.home-search{display:flex;align-items:center;gap:10px;min-width:0;flex:1;border:1px solid var(--ui-line-strong);border-radius:100px;background:var(--ui-raised);padding:6px 6px 6px 18px;box-shadow:0 3px 12px #00000005;height:60px}
.home-search>svg{color:var(--ui-muted)}
.dorms-folio .home-search input{flex:1;min-width:0;border:0;outline:none;background:none;padding:9px 0;font-size:14px;box-shadow:none;color:var(--ui-text)}
.home-search:focus-within{outline:2px solid var(--ui-text);outline-offset:3px}
.home-search input:focus-visible{outline:none}
.home-search-submit{display:flex;align-items:center;justify-content:center;gap:7px;flex:none;border:0;background:var(--ui-primary);color:#1C1C1C!important;border-radius:100px;height:46px;padding:0 16px;font-size:13px!important;font-weight:750}
.home-search-submit:hover{filter:brightness(.97)}
.search-clear{border:0;background:none;padding:4px;display:flex;color:var(--ui-muted)}
.home-guide{width:96px;flex:none;position:relative;align-self:center}
.guide-button{width:100%;padding:0;background:none;border:0;position:relative;display:flex;flex-direction:column;align-items:center}
.guide-portrait{height:94px;width:91px;display:block;overflow:hidden;border-radius:50px 50px 32px 32px;background:#a0a0a0;box-shadow:0 3px 8px #0000000c;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.guide-portrait img{width:100%;height:100%;object-fit:cover;display:block}
.guide-hello{position:absolute;right:11px;bottom:-10px;white-space:nowrap;background:var(--ui-card);border:1px solid var(--ui-border);color:var(--ui-text);font-size:9px;padding:3px 8px;border-radius:100px;box-shadow:0 3px 9px #00000009}
.home-guide.is-open .guide-portrait{transform:rotate(-4deg) translateY(-3px)}
.guide-popover{position:absolute;right:-5px;top:calc(100% + 18px);width:306px;background:var(--ui-raised);border:1px solid var(--ui-border);border-radius:22px;padding:20px;box-shadow:0 18px 55px #0002;z-index:40;animation:home-fade .18s ease-out}
.guide-popover::before{content:'';position:absolute;right:40px;top:-6px;width:10px;height:10px;background:var(--ui-raised);border-left:1px solid var(--ui-border);border-top:1px solid var(--ui-border);transform:rotate(45deg)}
.guide-popover-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--ui-muted);margin-bottom:13px}
.guide-popover-top button{display:flex;background:none;border:0;padding:4px}
.dorms-folio .guide-popover h3{font:600 23px/1.5 var(--font-display);letter-spacing:-.04em;margin-bottom:9px;color:var(--ui-text)}
.dorms-folio .guide-popover p{font-size:13px;line-height:1.7;color:var(--ui-muted)}
.guide-suggestions{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0}
.guide-suggestions button{display:flex;gap:9px;align-items:center;border:1px solid var(--ui-border);border-radius:100px;background:var(--ui-card);color:var(--ui-text);font-size:11px;padding:7px 10px}
.guide-popover form{display:flex;align-items:center;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-bg);padding:7px}
.dorms-folio .guide-popover input{flex:1;min-width:0;font-size:12px;padding:6px;background:transparent;border:0}
.guide-popover form button{border:0;border-radius:8px;background:var(--ui-primary);display:flex;padding:7px;color:#1C1C1C}
.guide-popover>small{font-size:9px;color:var(--ui-muted);display:block;margin-top:12px}
.home-app-board{margin-top:40px;scroll-margin-top:26px}
.home-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.home-section-index{font:500 9px/1.6 'Manrope',var(--font-sans);color:var(--ui-muted);letter-spacing:.17em;display:block;margin-bottom:9px}
.dorms-folio .home-section-heading h2{font:600 27px/1.5 var(--font-display);letter-spacing:-.05em;display:flex;align-items:center;gap:12px;color:var(--ui-text)}
.home-section-heading h2>span{font:500 10px 'Manrope',var(--font-sans);border:1px solid var(--ui-border);border-radius:100px;min-width:21px;height:21px;display:grid;place-items:center;letter-spacing:0;color:var(--ui-muted)}
.home-text-link{background:none;border:0;display:flex;align-items:center;gap:8px;font-size:11px!important;padding:9px 0;color:var(--ui-muted)!important;white-space:nowrap}
.home-text-link:hover{color:var(--ui-text)!important}
.community-home .coffee-archive{--bg:transparent;--text-primary:#fff;--text-secondary:#dedfd6;--text-accent:#f1f0e8;--font-display:inherit;--font-ui:var(--font-sans);--card-w:252px;--card-h:326px;--card-radius:19px;background:none;display:block;min-height:0;overflow:visible;color:var(--ui-text);width:100%;font-family:var(--font-sans)}
.community-home .coffee-archive *{box-sizing:border-box}
.community-home .coffee-archive .showcase-container{height:376px;width:100%;margin:1px 0 0;perspective:1400px;perspective-origin:50% 47%;touch-action:pan-y;user-select:none;-webkit-user-select:none;overflow:clip;cursor:grab;outline:0}
.community-home .coffee-archive .showcase-container[data-dragging=true]{cursor:grabbing}
.community-home .coffee-archive .scene{display:block;position:relative;transform-style:preserve-3d;height:100%;width:100%;background:none}
.community-home .coffee-archive .product-card{position:absolute;left:50%;top:50%;width:var(--card-w);height:var(--card-h);margin-left:calc(var(--card-w) / -2);margin-top:calc(var(--card-h) / -2);background:var(--ui-card);color:#fff;transform-style:preserve-3d;border:1px solid #00000015;box-shadow:0 14px 24px #0002;filter:none;will-change:transform,opacity;transition:box-shadow .25s ease;overflow:hidden;isolation:isolate;cursor:pointer}
.community-home .coffee-archive .scene:hover .product-card,.community-home .coffee-archive .scene .product-card:hover{filter:none;box-shadow:0 14px 27px #0002}
.community-home .coffee-archive .product-card:focus-visible{outline:3px solid var(--ui-text);outline-offset:3px}
.community-home .coffee-archive .product-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%;z-index:1;pointer-events:none;filter:none;transform:none!important}
.community-home .coffee-archive .product-card::after{background:linear-gradient(to top,rgba(20,23,20,.98) 0%,rgba(25,29,24,.9) 34%,rgba(24,28,23,.07) 71%,transparent 100%);pointer-events:none}
.community-home .coffee-archive .card-content{padding:20px 19px;gap:8px;bottom:0;pointer-events:none}
.community-home .coffee-archive .meta-data{font:500 9px/1.5 var(--font-sans);letter-spacing:.03em;opacity:1;gap:6px;color:#e2e3d7}
.community-home .coffee-archive .meta-tag{border-color:#ffffff40;border-radius:100px;padding:3px 7px;font-size:9px;white-space:nowrap}
.community-home .coffee-archive .product-title{font:600 24px/1.38 var(--font-display);letter-spacing:-.045em;color:#fff;margin:0}
.community-home .coffee-archive .product-desc{font:400 12px/1.6 var(--font-sans);color:#e0e2d6;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.community-home .coffee-archive .coffee-author{display:flex;align-items:center;gap:6px;font-size:10px;color:#c1c5b9;margin-top:5px;border-top:1px solid #ffffff2a;padding-top:10px}
.coffee-initial{width:19px;height:19px;border-radius:50%;background:#ffffff1c;display:grid;place-items:center;font-size:8px}.coffee-example{margin-left:auto;font-size:8px;opacity:.8}
.community-home .coffee-archive .action-layer{align-items:flex-start;padding-top:68px;background:transparent;pointer-events:none}
.community-home .coffee-archive .add-btn{color:#1c1c1c;background:#f8f7f2ed;backdrop-filter:blur(6px);padding:10px 15px;font:600 11px var(--font-sans);display:flex;align-items:center;gap:12px;box-shadow:0 3px 13px #0002}
.community-home .coffee-archive .product-card:focus-visible .action-layer{opacity:1}
.community-home .coffee-archive .product-card:focus-visible .add-btn{transform:translateY(0)}
.archive-caption{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--ui-muted);padding:0 8px 17px;border-bottom:1px solid var(--ui-border);margin-top:0}
.archive-caption>span{display:flex;align-items:center;gap:7px}.archive-dot{width:4px;height:4px;display:block;border-radius:50%;background:var(--ui-text)}.archive-dot.still{background:var(--ui-muted)}
.archive-count{font:500 10px var(--font-sans);font-variant-numeric:tabular-nums}.archive-count i{display:block;width:22px;height:1px;background:var(--ui-border);margin:0 2px}.touch-hint{display:none}
.home-invitation{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:17px 20px;background:var(--ui-card);border:1px solid var(--ui-border);border-radius:18px}
.home-invitation>div{display:flex;gap:13px;align-items:center}.home-invitation-mark{display:grid;place-items:center;background:var(--ui-secondary);color:#1C1C1C;width:35px;height:35px;border-radius:50%;font-size:21px;flex:none}
.dorms-folio .home-invitation p{font-size:12px;line-height:1.7;color:var(--ui-muted)}.home-invitation strong{color:var(--ui-text);font-weight:600}
.home-invitation button{display:flex;gap:9px;align-items:center;background:none;border:0;font-size:11px;white-space:nowrap;padding:8px 0}
.home-local-note{font-size:9px;color:var(--ui-muted);margin-top:17px;text-align:right}
.home-right>.home-section-heading{margin-top:7px}
.home-library-all{display:flex;gap:9px;align-items:center;background:var(--ui-text);color:var(--ui-bg)!important;border:0;border-radius:100px;padding:10px 14px;font-size:11px!important;white-space:nowrap;margin-bottom:4px}
.dorms-folio .home-library-note{font-size:13px;color:var(--ui-muted);margin:12px 0 21px}
.home-shelf-toolbar{display:flex;justify-content:space-between;align-items:center;border-block:1px solid var(--ui-border);padding:10px 0;gap:10px;margin-bottom:13px}
.home-shelf-toolbar>div{display:flex;align-items:center;gap:1px;background:var(--ui-card);border:1px solid var(--ui-border);padding:3px;border-radius:100px}
.home-shelf-toolbar button{border:0;border-radius:100px;background:none;color:var(--ui-muted);font-size:11px;padding:6px 12px;white-space:nowrap}
.home-shelf-toolbar button[aria-pressed=true]{background:var(--ui-primary);color:#1c1c1c}
.home-shelf-toolbar>span{font-size:10px;color:var(--ui-muted)}
.dorms-folio.v08 .home-right .library-view{padding:0 4px 0 0;min-height:0;background:transparent}
.home-right .library-stacks{display:grid;grid-template-columns:1fr;gap:14px;padding:0 7px 0 0}
.home-right .department-heading{gap:12px;padding:10px 3px 0}
.home-right .department-heading h2{font-size:22px;letter-spacing:-.05em}
.home-right .classification-number{font-size:9px;padding:2px 6px}
.home-right .department-heading>span:last-of-type{font-size:11px}
.dorms-folio.v08 .home-right .department-heading>button{border:0;border-radius:0;background:none;width:auto;height:30px;gap:5px;font-size:10px;margin-left:6px;color:var(--ui-muted);white-space:nowrap}
.home-right .library-view .perspective-view{padding:0 6px 30px}
.home-right .shelf-scene{height:303px}
.home-right .books-row{left:5%;right:3%;gap:7px}
.home-right .shelf-book{--book-depth:85px!important}
.home-right .empty-book{width:38px;flex-basis:38px;margin-left:7px;height:156px;font-size:10px}
.home-right .shelf-top{height:85px}.home-right .shelf-side{width:85px}
.home-right .bookend{width:11px;flex-basis:11px;border-width:5px;height:64px}
.home-right .book-spine .cover-content strong{font-size:16px;letter-spacing:1px}
.home-shelf-end{display:flex;align-items:center;gap:14px;padding:22px 5px 12px;border-top:1px solid var(--ui-border);color:var(--ui-muted);margin-top:12px}
.dorms-folio .home-shelf-end p{font-size:12px;line-height:1.7}.home-shelf-end strong{font-weight:550;color:var(--ui-text)}
.home-shelf-end button{margin-left:auto;border:0;background:none;display:flex;gap:8px;align-items:center;font-size:11px;color:var(--ui-text)}
.home-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--ui-border);padding:22px 0 28px;margin-top:40px;font-size:10px;color:var(--ui-muted)}
.home-footer i{font-style:normal;padding:0 7px}.home-footer>span:last-child{font:500 8px var(--font-sans);letter-spacing:.14em}
.home-no-results{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;text-align:center}
.dorms-folio .home-no-results h3{font:600 22px var(--font-display)}.dorms-folio .home-no-results p{font-size:13px;color:var(--ui-muted)}
.home-app-detail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px}
.home-app-detail-copy{display:flex;flex-direction:column;gap:16px;align-items:flex-start;padding:8px 0}
.dorms-folio .home-app-detail-copy h3{font:650 25px/1.5 var(--font-display);letter-spacing:-.04em}
.dorms-folio .home-app-detail-copy p{font-size:14px;line-height:1.85;color:var(--ui-muted)}
.dorms-folio .home-app-detail-copy .caption{font-size:11px}
.detail-tags{display:flex;gap:6px;flex-wrap:wrap}.detail-tags span{font-size:11px;background:var(--ui-surface);border-radius:100px;padding:5px 10px}
.detail-author{display:flex;gap:10px;align-items:center;font-size:14px;margin:4px 0 12px}.detail-author small{display:block;font-size:10px;color:var(--ui-muted)}
.home-app-detail-copy .action{font-size:13px}
.home-app-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.home-app-list>button{padding:10px;border:1px solid var(--ui-border);background:var(--ui-raised);border-radius:18px;display:flex;align-items:center;gap:13px;text-align:left;min-width:0}
.home-app-list>button>img{width:72px;height:91px;object-fit:cover;object-position:top;border-radius:9px;flex:none}
.home-app-list>button>span{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.home-app-list small{font-size:10px;color:var(--ui-muted)}.home-app-list strong{font-size:15px;font-weight:650}.home-app-list span>span{font-size:11px;color:var(--ui-muted)}
.home-mobile-jump{display:none}
.home-reader-shade{position:fixed;inset:0;background:#14141296;backdrop-filter:blur(8px);z-index:85;display:flex;align-items:center;justify-content:center;padding:22px 28px}
.home-reader{width:min(1490px,100%);height:calc(100dvh - 44px);max-height:1020px;overflow-y:auto;overscroll-behavior:contain;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:23px;box-shadow:0 30px 100px #0004;position:relative;scrollbar-width:thin}
.home-reader-bar{position:sticky;top:0;z-index:26;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 28px;border-bottom:1px solid var(--ui-border);background:var(--ui-bg);border-radius:22px 22px 0 0}
.home-reader-bar>div:first-child{display:flex;align-items:center;gap:15px;min-width:0}.home-reader-bar>div:first-child>span{font-size:11px;color:var(--ui-muted)}.home-reader-bar strong{font:600 18px var(--font-display);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.home-reader-bar>div:last-child{display:flex;gap:18px;align-items:center;flex:none}
.home-reader-bar .reader-expand,.reader-ledger-toggle{display:flex;gap:7px;align-items:center;background:none;border:0;font-size:12px;color:var(--ui-text);padding:8px 0}
.home-reader-bar .icon-btn{width:36px;height:36px;flex-basis:36px}
.home-reader .folio-stage{width:calc(100% - 128px);padding-top:15px;padding-bottom:30px;margin:0 auto}
.home-reader .workspace-meta{margin-bottom:12px}
.home-reader .ref-book.folio-wrapper{max-height:none;height:720px;min-height:680px}
.home-reader .ref-book .page-left{padding:22px 36px 20px 25px}.home-reader .chapter-scroll{padding:27px 26px 22px 38px}
.home-reader .artifact-inner{height:359px}
.home-reader .ledger-view{padding-top:20px}
@keyframes home-fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.community-home{padding-top:50px}.home-app-board{margin-top:43px}.community-home .coffee-archive .showcase-container{height:398px}}
@media(max-width:1200px) and (min-width:901px){.community-home{padding:32px 28px 0;--home-gap:28px}.home-right{padding-left:20px}.home-left{top:20px}.dorms-folio .home-intro h1{font-size:33px}.home-first-filter{gap:8px}.home-school-filter{gap:0}.home-school-filter button{min-width:29px;padding:5px 8px}.home-subject{width:113px}.home-category-filter{gap:4px}.home-category-filter button{font-size:10px;padding:5px 9px}.home-guide{width:77px}.guide-portrait{width:75px;height:79px}.home-search-line{gap:10px}.home-search input{font-size:12px}.home-search{padding-left:12px;gap:7px}.home-search-submit{padding:0 12px}.dorms-folio .home-section-heading h2{font-size:24px}.home-library-all{padding:9px 10px;gap:5px}.home-shelf-toolbar>span{font-size:9px}.home-right .shelf-book{width:calc(var(--book-thickness)*.9);flex-basis:calc(var(--book-thickness)*.9)}.home-invitation{padding:14px}.home-invitation>div{gap:8px}.home-invitation p{font-size:11px}.home-header.home-header .home-brand-note{display:none}}
@media(max-width:900px){
.community-home{padding:22px 22px 0;max-width:720px;--home-gap:0}.home-columns{display:flex;flex-direction:column;gap:44px}.home-left{position:static;top:auto;width:100%}.home-right{width:100%;padding-left:0;border-left:0;border-top:1px solid var(--ui-border);padding-top:28px;scroll-margin-top:57px}
.home-header.home-header{padding:13px 20px;min-height:70px;height:70px}.home-header.home-header .home-brand-note{display:none}.home-header .header-right nav{gap:19px;margin-right:2px}.home-header .header-right nav button{font-size:12px;padding:8px 0;gap:5px}.home-header .home-profile{display:none}.home-header .header-right{gap:14px}.home-header .header-left .brand-logo{font-size:28px}
.home-eyebrow{font-size:8px;margin-bottom:17px;gap:8px}.home-live-dot{width:5px;height:5px;box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-primary) 20%,transparent)}
.dorms-folio .home-intro h1{font-size:clamp(26px,5.4vw,39px);letter-spacing:-.07em;line-height:1.56;white-space:normal}
.dorms-folio .home-intro-note{font-size:12px;margin-top:9px}.home-preferences{margin-top:23px;gap:11px}.home-school-filter>span,.home-category-filter>span{font-size:10px;margin-right:7px}.home-school-filter{gap:1px}.home-school-filter button{font-size:12px;min-width:30px;min-height:36px;padding:5px 8px}.home-first-filter{gap:10px}.home-subject{width:120px}.dorms-folio .home-subject select{font-size:12px;padding-left:12px}.home-category-filter{gap:5px}.home-category-filter button{font-size:11px;padding:7px 11px;min-height:34px}
.home-search-line{gap:10px;margin-top:13px;min-height:82px}.home-search{height:56px;padding:5px 5px 5px 13px;gap:6px}.dorms-folio .home-search input{font-size:13px}.home-search>svg{width:17px}.home-search-submit{height:44px;padding:0 13px;font-size:12px!important}.home-search-submit>svg{display:none}.home-guide{width:73px}.guide-portrait{height:79px;width:74px}.guide-hello{font-size:8px;right:2px;bottom:-7px;padding:3px 6px}.guide-popover{right:-2px;top:calc(100% + 15px);width:min(306px,calc(100vw - 46px))}
.home-app-board{margin-top:34px;scroll-margin-top:62px}.home-section-index{font-size:8px;letter-spacing:.15em;margin-bottom:6px}.dorms-folio .home-section-heading h2{font-size:26px}.home-text-link{font-size:10px!important;gap:6px}.home-section-heading h2>span{font-size:9px;width:20px;height:20px}
.community-home .coffee-archive .showcase-container{height:365px;width:calc(100% + 44px);margin-left:-22px;perspective:1200px}
.community-home .coffee-archive .card-content{padding:18px;gap:7px}.community-home .coffee-archive .product-title{font-size:23px}.community-home .coffee-archive .product-desc{font-size:11px}.community-home .coffee-archive .product-card{border-radius:18px;box-shadow:0 13px 23px #0002}.community-home .coffee-archive .action-layer{display:none}.archive-caption{padding:0 2px 16px;font-size:9px}.mouse-hint{display:none}.touch-hint{display:inline}.home-invitation{margin-top:19px;padding:16px;border-radius:17px}.home-invitation>div{gap:10px}.dorms-folio .home-invitation p{font-size:11px}.home-invitation button{font-size:10px;gap:5px}.home-invitation-mark{width:31px;height:31px;font-size:18px}.home-local-note{font-size:8px;margin-top:13px}
.home-mobile-jump{display:flex;position:sticky;top:0;z-index:35;background:var(--ui-bg);margin:-22px -22px 23px;padding:7px 22px;border-bottom:1px solid var(--ui-border);gap:15px}
.home-mobile-jump button{display:flex;align-items:center;gap:7px;border:0;background:none;font-size:11px;color:var(--ui-muted);padding:7px 0;min-height:33px;flex:1;justify-content:center}.home-mobile-jump button+button{border-left:1px solid var(--ui-border)}
.home-shelf-toolbar{margin-bottom:10px}.home-library-all{padding:11px 14px;font-size:11px!important}.dorms-folio .home-library-note{font-size:12px;margin:12px 0 21px}
.home-right .library-stacks{padding:0 3px;gap:17px}.home-right .library-view .perspective-view{padding-bottom:20px}.home-right .department-heading{padding:10px 0 0}.home-right .department-heading h2{font-size:24px}.home-right .shelf-scene{height:296px}.home-right .shelf-book{--book-depth:70px!important}.home-right .books-row{left:6%;right:3%;gap:7px}.home-right .shelf-top{height:70px}.home-right .shelf-side{width:70px}.home-right .empty-book{height:146px;width:37px;flex-basis:37px;margin-left:5px}.home-right .book-spine .cover-content strong{font-size:16px}.home-right .department-heading>span:last-of-type{font-size:10px}.home-shelf-end{gap:12px}.home-shelf-end button{font-size:10px}.home-shelf-end p{font-size:12px}
.home-footer{margin-top:30px;flex-wrap:wrap;gap:11px;font-size:9px;padding:20px 0 24px}.home-footer>span:last-child{font-size:7px}
.home-app-detail{grid-template-columns:1fr;gap:20px}.home-app-detail-preview{min-width:0}.home-app-detail-copy{gap:14px}.home-app-list{grid-template-columns:1fr}.home-app-list>button>img{width:57px;height:74px}
.home-reader-shade{padding:0;background:var(--ui-bg);backdrop-filter:none}.home-reader{width:100%;height:100dvh;max-height:none;border:0;border-radius:0;padding-bottom:env(safe-area-inset-bottom)}
.home-reader-bar{padding:11px 14px;border-radius:0;align-items:center;gap:8px;min-height:65px}.home-reader-bar>div:first-child{flex-direction:column;align-items:flex-start;gap:2px}.home-reader-bar>div:first-child>span{font-size:9px}.home-reader-bar strong{font-size:15px;max-width:175px}.home-reader-bar>div:last-child{gap:12px}.home-reader-bar .reader-expand{font-size:10px;gap:5px}.reader-ledger-toggle{font-size:0;gap:0}.home-reader-bar .icon-btn{width:34px;height:34px;flex-basis:34px}.home-reader-bar .reader-expand svg{width:13px}
.home-reader .folio-stage{width:calc(100% - 24px);padding:14px 0 28px;margin:0 auto}.home-reader .ref-book.folio-wrapper{min-height:0;height:auto;max-height:none}.home-reader .ref-book .page-left{padding:22px 20px}.home-reader .chapter-scroll{padding:25px 21px 28px}.home-reader .artifact-inner{height:368px}.home-reader .ledger-view{width:calc(100% - 24px)}
}
@media(max-width:390px){.community-home{padding-inline:18px}.home-mobile-jump{margin-inline:-18px;padding-inline:18px}.home-category-filter{gap:4px}.home-category-filter button{font-size:10px;padding-inline:9px}.home-category-filter>span{margin-right:5px}.home-school-filter button{min-width:27px;padding-inline:7px}.home-subject{width:108px}.home-first-filter{gap:6px}.dorms-folio .home-intro h1{font-size:26px}.home-invitation{padding:14px 11px}.home-invitation-mark{width:26px;height:26px}.community-home .coffee-archive .showcase-container{width:calc(100% + 36px);margin-left:-18px}.home-reader-bar strong{max-width:149px}.home-search{padding-left:10px}.home-search>svg{display:none}.home-guide{width:66px}.guide-portrait{width:68px;height:74px}.home-search-submit{padding-inline:12px}.home-search-line{gap:8px}.home-search input{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.community-home *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Final proportions: the tall left column can fully scroll before it sticks. */
@media(min-width:901px){
 .community-home{padding-top:34px}
 .home-left{top:min(24px,calc(100dvh - var(--home-left-height,1030px) - 24px))}
 .home-eyebrow{margin-bottom:15px}
 .dorms-folio .home-intro h1{line-height:1.43}
 .dorms-folio .home-intro-note{margin-top:9px}
 .home-preferences{margin-top:21px;gap:10px}
 .home-search-line{min-height:83px;margin-top:14px}
 .guide-portrait{width:82px;height:85px}
 .home-guide{width:86px}
 .home-app-board{margin-top:28px}
}
.home-reader .reader-ledger-toggle{font-size:12px}
@media(max-width:900px){.home-reader .reader-ledger-toggle{font-size:0;gap:0}}
/* At 801–900px the original reader is still a two-page book: reserve space for its side tabs. */
@media(min-width:801px) and (max-width:900px){
 .home-reader-shade{padding:10px}
 .home-reader{height:calc(100dvh - 20px);border:1px solid var(--ui-border);border-radius:18px}
 .home-reader-bar{border-radius:17px 17px 0 0}
 .home-reader .folio-stage{width:calc(100% - 100px);margin:0 72px 0 28px;padding:14px 0 28px}
 .home-reader .ref-book.folio-wrapper{height:810px;min-height:790px;max-height:none}
 .home-reader .ref-book .page-left{padding:22px 31px 18px 18px}
 .home-reader .chapter-scroll{padding:26px 19px 24px 32px}
 .home-reader .ref-book .folio-actions{padding:16px 18px 16px 29px}
 .home-reader .folio-actions .action{font-size:12px;padding:9px 10px}
}

.mobile-page-switch{display:none}
@media(max-width:800px){
 .mobile-ready .library-view{padding-inline:20px}
 .mobile-ready .library-tools .search-bar{min-width:0;width:100%}
 .mobile-ready .library-intro{gap:8px}
 .mobile-ready .library-intro h1{font-size:29px}
 .mobile-ready .library-stacks{min-width:0}
 .mobile-ready .shelf-book{width:calc(var(--book-thickness)*.80);flex-basis:calc(var(--book-thickness)*.80)}
 .mobile-ready .empty-book{width:37px;flex-basis:37px;margin-left:6px}
 .mobile-ready .department-filters{scroll-snap-type:x proximity;padding-bottom:4px}
 .mobile-ready .department-filters button{scroll-snap-align:start;min-height:40px}
 .mobile-ready .library-type-bar .segmented button{min-height:40px}
 .mobile-ready .workspace-meta{align-items:center;margin-bottom:12px}
 .mobile-ready .workspace-meta>div{flex-wrap:nowrap;gap:4px;margin-left:auto}
 .mobile-ready .workspace-meta .action{padding:7px 10px;min-height:39px;font-size:10px;gap:4px}
 .mobile-ready .workspace-meta .action svg{width:13px}
 .mobile-ready .mobile-page-switch{display:flex;align-items:center;gap:3px;padding:4px;margin:0 0 13px;background:var(--ui-card);border:1px solid var(--ui-border);border-radius:100px;color:var(--ui-text)}
 .mobile-ready .mobile-page-switch button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;border:0;background:transparent;color:var(--ui-muted);min-height:40px;border-radius:100px;font-size:13px;font-weight:600}
 .mobile-ready .mobile-page-switch button[aria-pressed=true]{background:var(--ui-text);color:var(--ui-bg)}
 .mobile-ready .folio-stage[data-mobile-pane=result] .page-right{display:none}
 .mobile-ready .folio-stage[data-mobile-pane=reading] .page-left{display:none}
 .mobile-ready .folio-stage .ref-book .tabs-container{top:0;gap:3px;padding:5px 5px 0;min-height:61px;scroll-snap-type:x proximity;scroll-padding:7px}
 .mobile-ready .ref-book .tab{min-width:68px;min-height:57px;padding:9px 11px;scroll-snap-align:nearest}
 .mobile-ready .ref-book .tab strong{font-size:13px}
 .mobile-ready .ref-book .page-spread{display:flex;flex-direction:column;min-height:0}
 .mobile-ready .ref-book .mobile-rings{order:-1;height:25px;min-height:25px}
 .mobile-ready .mobile-rings .planner-spine{height:25px}
 .mobile-ready .mobile-rings .ring-group{width:20px;height:25px}
 .mobile-ready .mobile-rings .ring{width:30px;height:6px}
 .mobile-ready .mobile-rings .hole{width:8px;height:8px}
 .mobile-ready .mobile-rings .hole.left{left:-7px}.mobile-ready .mobile-rings .hole.right{right:-7px}
 .mobile-ready .ref-book .page-left{border-radius:0 0 5px 5px}
 .mobile-ready .ref-book .page-right{min-height:380px}
 .mobile-ready .chapter-scroll{scroll-margin-top:72px}
 .mobile-ready .ref-book .folio-actions{flex-wrap:wrap;gap:6px;position:sticky;bottom:0;min-height:73px}
 .mobile-ready .folio-actions .action{font-size:12px;min-height:44px}
 .mobile-ready .folio-actions .action.primary{padding-inline:16px}
 .mobile-ready .room-select .text-action{font-size:12px}
 .mobile-ready .message-links button{min-height:40px;font-size:12px}
 .mobile-ready .graph-section{height:min(560px,68dvh);min-height:410px}
 .mobile-ready .graph-toolbar>button{min-height:38px;font-size:11px}
 .mobile-ready .graph-inspector{max-height:none;overflow:visible}
 .mobile-ready .graph-port::after{content:'';position:absolute;inset:-12px}
 .mobile-ready .graph-bottom input{min-height:36px}
 .mobile-ready .modal-shade{padding:9px;padding-bottom:max(9px,env(safe-area-inset-bottom))}
 .mobile-ready .modal-panel{max-height:calc(100dvh - 18px);overscroll-behavior:contain}
 .mobile-ready .modal-panel>header{position:sticky;top:-23px;background:var(--ui-card);z-index:24;padding:12px 0;margin-top:-12px}
 .mobile-ready .modal-panel :is(input:not([type=color]):not([type=checkbox]):not([type=range]),textarea,select){font-size:16px}
 .mobile-ready .editor-section-tabs{top:45px}
 .mobile-ready .book-editor .editor-actions{bottom:-23px}
 .mobile-ready .tab-edit-row{grid-template-columns:16px minmax(60px,1fr) 34px 34px 43px}
 .mobile-ready .tab-edit-row .icon-btn{min-height:40px}
 .mobile-ready .home-reader .ref-book .tabs-container{top:65px}
 .mobile-ready .home-reader .chapter-scroll{scroll-margin-top:132px}
 .mobile-ready .home-reader .mobile-page-switch{margin-bottom:13px}
 .mobile-ready .home-reader .workspace-meta>.back-link{font-size:0;gap:0;width:28px;min-height:38px}
 .mobile-ready .home-reader .workspace-meta>.back-link svg{width:20px}
 .mobile-ready .home-reader .workspace-meta>div{margin-left:0;flex:1;justify-content:flex-end}
}
@media(max-width:370px){
 .mobile-ready .workspace-meta>.back-link{font-size:12px}
 .mobile-ready .workspace-meta .action{padding-inline:7px;font-size:9px}
 .mobile-ready .library-intro h1{font-size:26px}
 .mobile-ready .library-intro .action.primary{padding-inline:10px;font-size:11px}
 .mobile-ready .ref-book .tab{min-width:65px}
}
@media(hover:none){
 .mobile-ready .shelf-book:hover{transform:translateZ(0)}
 .mobile-ready .shelf-book:active{transform:translateZ(9px) translateY(-3px)}
}

/* 서재 책 색인 칸 = 사용자가 테마에서 고른 포인트 색과 그 위 글자색(2026-10-06 R48). 원본 THEME08 은 책 틀 색(--binder: 밝은 화면은 표지 칠,
   어두운 화면은 기본 포인트 색 고정값)과 책 안 강조색(--book-cta: 기본 포인트 색 고정값)으로 칠해 포인트 색을 바꿔도 색인이 그대로였다.
   색인 칸 · 고른 색인의 띠와 테두리만 바꾸고 책 틀(바인더) · 종이 색은 그대로 둔다. */
.v08 .ref-book{--book-index:var(--user-accent,var(--ui-primary,#79ADE3));--book-index-ink:var(--user-accent-ink,var(--ui-on-primary,#242824))}
.v08 .ref-book .tab{background:var(--book-index);color:var(--book-index-ink)}
.v08 .ref-book .tab:hover:not(.active){color:var(--book-index-ink)}
.v08 .ref-book .tab .index-notification{background:currentColor}
.v08 .ref-book .tab.active{background:var(--paper);color:var(--book-heading-ink);border-color:var(--book-index);box-shadow:inset 3px 0 0 var(--book-index),3px 2px 10px #0001}
@media(max-width:800px){.v08 .ref-book .tab.active{box-shadow:inset 0 3px 0 var(--book-index)}}
/* 책장 행의 글자 화살표를 SVG 화살표로(화면 기호는 SVG만, 2026-10-05 통일성 S5). 원본 상수 REFERENCE_BOOK 은 그대로 두고 여기서 덮는다. */
.ref-book .inv-action::after{content:"";width:10px;height:10px;top:50%;margin-top:-5px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat}
.guide-portal-theme{display:contents!important}
.guide-portal-theme>.home-guide{position:static;width:auto}
body [data-shared-popover]:has(>.dorms-folio.guide-portal-theme){padding:0!important;background:transparent!important;border:0!important;border-radius:22px!important;box-shadow:0 18px 55px #0002!important}
#guide-topics.guide-popover{position:relative;z-index:10040;inset:auto;width:min(306px,calc(100vw - 46px));max-width:100%;margin:0;background:var(--ui-raised)!important;color:var(--ui-text)!important;box-shadow:none;animation:none}
#guide-topics.guide-popover::before{display:none}
#guide-topics :is(div,p,span,small,h3,button,input){font-family:var(--font-sans)!important}
#guide-topics h3{font-family:var(--font-display)!important;color:var(--ui-text)!important}
#guide-topics .guide-popover-top,#guide-topics p,#guide-topics>small{color:var(--ui-muted)!important}
#guide-topics button{font-weight:inherit!important;min-height:0;line-height:normal!important}
#guide-topics .guide-popover-top button{background:transparent!important;border:0!important;padding:4px!important}
#guide-topics .guide-suggestions button{background:var(--ui-card)!important;border:1px solid var(--ui-border)!important;padding:7px 10px!important;font-size:11px!important}
#guide-topics form{background:var(--ui-bg)!important}
#guide-topics form input{background:transparent!important;border:0!important;border-radius:0!important}
#guide-topics form button{background:var(--ui-primary)!important;border:0!important;border-radius:8px!important;padding:7px!important;color:#1C1C1C!important}
.dorms-folio .community-home .coffee-archive .showcase-container{--card-w:clamp(280px,74vw,350px);--card-h:calc(var(--card-w)*326/258);height:calc(var(--card-h) + 48px)}
.dorms-folio .community-home .coffee-archive .scene{pointer-events:none}
.dorms-folio .community-home .coffee-archive .scene>.product-card{pointer-events:auto}
.dorms-folio .community-home .showcase-container:not([data-scroll-ready]) .product-card:not([data-card-index="0"]){visibility:hidden}
.dorms-folio .community-home .coffee-archive .gallery-card{display:flex;flex-direction:column;height:var(--card-h);aspect-ratio:258/326;max-height:none;background:var(--ui-card);color:var(--ui-text);border-radius:22px}
.dorms-folio .community-home .coffee-archive .gallery-card::after{display:none}
.dorms-folio .community-home .coffee-archive .gallery-card:has(.collection-card-preview){background:none;border:0;box-shadow:none;overflow:visible}
.dorms-folio .community-home .coffee-archive .gallery-card-content{display:flex;flex:1;min-height:0;min-width:0;flex-direction:column}
.dorms-folio .community-home .coffee-archive .gallery-card-select{position:absolute;inset:0;z-index:8;width:100%;height:100%;border:0;border-radius:22px;background:transparent;padding:0;cursor:pointer}
.dorms-folio .community-home .coffee-archive .gallery-card-select[hidden]{display:none}
.dorms-folio .community-home .coffee-archive .gallery-card-select:focus-visible{outline:3px solid var(--ui-primary);outline-offset:3px}
.dorms-folio .community-home .coffee-archive .collection-card-preview{--preview-radius:22px}

.dorms-folio .community-home .coffee-archive .gallery-card .product-card-main{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;margin:0;padding:0;gap:0;border:0;border-radius:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer;overflow:hidden}
.dorms-folio .community-home .coffee-archive .gallery-card .product-card-main:focus-visible{outline:3px solid var(--ui-focus,var(--ui-text));outline-offset:-4px}
.dorms-folio .community-home .coffee-archive .gallery-card .product-card-preview{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:100%;height:calc(var(--card-h)*.41);overflow:hidden;background:var(--ui-subtle)}
.dorms-folio .community-home .coffee-archive .gallery-card .product-card-preview::after{content:'';position:absolute;inset:auto 0 0;height:26px;z-index:2;background:linear-gradient(180deg,transparent,var(--ui-card));pointer-events:none}
.dorms-folio .community-home .coffee-archive .gallery-card .product-card-preview>img{position:static;inset:auto;display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transform:none}
.dorms-folio .product-card-preview>div.product-preview-image{width:100%;height:100%;background:var(--ui-subtle)!important}
.dorms-folio .coffee-archive .product-card-preview>div.product-preview-image>img{position:static;inset:auto;width:44px!important;height:44px!important;object-fit:contain;transform:none}
.dorms-folio div.home-app-list-preview{background:var(--ui-subtle)!important}
.dorms-folio .community-home .coffee-archive .gallery-card .card-content{position:static;display:flex;flex:1;min-height:0;width:100%;padding:12px 16px 8px;gap:5px;color:var(--ui-text);box-sizing:border-box;overflow:hidden}
.dorms-folio .community-home .coffee-archive .gallery-card .product-title{font-size:22px;line-height:1.22;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0;color:var(--ui-text)}
.dorms-folio .community-home .coffee-archive .gallery-card .product-desc{font-size:14px;line-height:1.4;font-style:normal;white-space:normal;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ui-muted)}
.dorms-folio .community-home .coffee-archive .gallery-card .meta-data{font-size:12px;color:var(--ui-muted);flex-shrink:0}
.dorms-folio .community-home .coffee-archive .gallery-card .coffee-author{font-size:14px;margin-top:auto;padding-top:5px;color:var(--ui-muted);border-top-color:var(--ui-border)}
.dorms-folio .community-home .coffee-archive .gallery-card .product-card-controls{flex:none;min-width:0;padding:0 12px 10px;color:var(--ui-text)}
.dorms-folio .community-home .coffee-archive .gallery-card .action-layer{display:none}
.dorms-folio .community-home .coffee-archive.app-collection{--card:var(--ui-card);--surface:var(--ui-raised);--text:var(--ui-text);--muted:var(--ui-muted);--border:var(--ui-border);--primary:var(--ui-primary);--secondary:var(--ui-secondary)}
/* Project each card into the original perspective before stacking the cards.
   A shared 3D space makes overlapping wide cards physically cut through each other. */
.dorms-folio .community-home .coffee-archive .scene{transform-style:flat;perspective:inherit;perspective-origin:inherit}
.dorms-folio .community-home .coffee-archive .showcase-container:has(.collection-card-preview){--preview-card-h:max(calc(var(--card-h) + 48px),428px);height:calc(var(--preview-card-h) + 48px)}
.dorms-folio .community-home .coffee-archive .gallery-card:has(.collection-card-preview){height:var(--preview-card-h);margin-top:calc(var(--preview-card-h) / -2)}
.dorms-folio .community-home .coffee-archive .collection-card-preview{flex:1;min-height:0;min-width:0}
.dorms-folio .community-home .coffee-archive .collection-preview-stage{flex:1;min-height:0}
.dorms-folio .community-home .coffee-archive .collection-preview-front{display:flex;flex-direction:column;height:100%;min-height:0}
.dorms-folio .community-home .coffee-archive .collection-preview-front .product-card-main{text-decoration:none;height:100%}
.dorms-folio .community-home .coffee-archive .collection-preview-heading{padding:10px 10px 10px 16px;gap:8px}
.dorms-folio .community-home .coffee-archive .collection-preview-heading>a{font-size:22px;line-height:1.35}
.dorms-folio .community-home .coffee-archive .collection-preview-scroll{font-size:16px;line-height:1.7;user-select:text;-webkit-user-select:text}
.dorms-folio .community-home .coffee-archive .collection-preview-scroll img{position:static;inset:auto;display:block;width:auto;height:auto;max-width:100%;object-fit:contain;transform:none;filter:none;opacity:1}
.dorms-folio .community-home .coffee-archive .collection-preview-detail{min-height:48px;padding:10px 16px;font-size:15px}
.dorms-folio .community-home .coffee-archive .collection-preview-trigger{z-index:3;font-size:14px}
.dorms-folio .community-home .coffee-archive .collection-preview-trigger>svg{flex:none}
.dorms-folio .community-home .coffee-archive .gallery-card:has(.collection-card-preview) .product-card-controls{padding-top:8px}
.dorms-folio .community-home .coffee-archive .archive-caption{justify-content:flex-end}
.dorms-folio .gallery-card[data-card-lifted=true]{opacity:0!important}
.dorms-folio .app-card-shade{position:fixed;top:var(--app-view-top,0px);left:var(--app-view-left,0px);width:var(--app-view-width,100vw);height:var(--app-view-height,100dvh);z-index:10020;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:rgba(15,20,16,.56);backdrop-filter:blur(7px);outline:0;perspective:1600px;overscroll-behavior:contain;box-sizing:border-box}
.dorms-folio .app-card-introduction{position:relative;z-index:2;width:min(1040px,100%);max-height:100%;display:flex;flex-direction:column;min-height:0;padding:0;overflow:hidden;box-sizing:border-box;border:1px solid var(--ui-border);border-radius:26px;background:var(--ui-card);color:var(--ui-text);box-shadow:0 35px 100px #0005;opacity:0;backface-visibility:hidden;outline:0}
.dorms-folio .app-card-introduction>header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;padding:24px 28px 18px;border-bottom:1px solid var(--ui-border);background:var(--ui-card)}
.dorms-folio .app-card-introduction>header h2{font:700 27px/1.35 var(--font-sans);letter-spacing:-.045em;overflow-wrap:break-word;min-width:0;margin:0}
.dorms-folio .app-card-introduction>header .icon-btn{width:44px;height:44px;min-width:44px;flex:none}
.dorms-folio .app-card-introduction-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px 28px 28px;scrollbar-width:thin}
.dorms-folio .app-card-introduction .home-app-detail{align-items:start}
.dorms-folio .app-card-introduction .home-app-detail-copy{min-width:0}
.dorms-folio .app-card-introduction :is(h3,p,button,small){overflow-wrap:break-word}
.dorms-folio .app-card-introduction :is(input,textarea,select){font-size:16px}
.dorms-folio .app-card-flight{position:fixed;z-index:1;display:block;min-height:0;margin:0;padding:0;overflow:visible;background:transparent;pointer-events:none;transform-origin:center;backface-visibility:hidden}
.dorms-folio .app-card-flight .product-card{pointer-events:none;cursor:default}
@media(max-width:900px){
 .dorms-folio .community-home .coffee-archive .gallery-card .card-content{padding:8px 12px;gap:4px}
 .dorms-folio .community-home .coffee-archive .gallery-card .product-title{font-size:20px}
 .dorms-folio .app-card-shade{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
 .dorms-folio .app-card-introduction{border-radius:21px}
 .dorms-folio .app-card-introduction>header{padding:14px 16px 12px;gap:10px}
 .dorms-folio .app-card-introduction>header h2{font-size:22px}
 .dorms-folio .app-card-introduction-body{padding:18px 16px 22px}
}
@media(max-width:800px){
 .dorms-folio .home-header .header-left{flex:0 0 auto;min-width:0}
 .dorms-folio .home-header .brand-logo{white-space:nowrap;flex-wrap:nowrap}
 .dorms-folio .home-header .brand-logo>span{white-space:nowrap}
 .dorms-folio .home-header .header-right{min-width:0}
 .dorms-folio .home-header .header-right nav button{white-space:nowrap;flex-shrink:0}
 .dorms-folio .home-header .header-right nav .home-linktree{display:none}
}
@media(max-width:390px){
 .dorms-folio .home-header.home-header{padding-inline:14px;gap:10px}
 .dorms-folio .home-header .header-left .brand-logo{font-size:20px;gap:5px}
 .dorms-folio .home-header .home-profile{margin-left:0}
 .dorms-folio .home-header .header-right nav{gap:10px}
 .dorms-folio .home-header .header-right nav button{font-size:11px}
 .dorms-folio .home-header .header-right>.icon-btn{width:36px;height:36px;flex-basis:36px}
}
@media(max-height:600px){.dorms-folio .app-card-introduction>header{padding-block:10px}.dorms-folio .app-card-introduction>header h2{font-size:20px}.dorms-folio .app-card-introduction-body{padding-top:14px}}
.dorms-folio .product-image-empty{position:absolute;inset:0;display:grid;place-items:center;background:var(--ui-subtle);color:var(--ui-muted)}
.dorms-folio .home-app-list .app-list-image-empty{width:112px;min-height:84px;display:grid;place-items:center;flex:none;background:var(--ui-subtle);border-radius:12px;color:var(--ui-muted)}
.dorms-folio .home-app-list>.home-app-list-row{display:flex;flex-direction:column;min-width:0;border:1px solid var(--ui-border);border-radius:18px;background:var(--ui-raised);overflow:hidden}
.dorms-folio .home-app-list .home-app-list-main{display:flex;align-items:center;gap:12px;min-width:0;width:100%;padding:14px;border:0;background:none;color:var(--ui-text);text-align:left;font:inherit;cursor:pointer}
.dorms-folio .home-app-list .home-app-list-preview{width:90px;height:90px;object-fit:contain;flex:none;border-radius:10px;background:var(--ui-subtle)}
.dorms-folio .home-app-list .home-app-list-copy{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
.dorms-folio .home-app-list .home-app-list-copy>strong{font-size:18px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dorms-folio .home-app-list .home-app-list-description{font-size:14px;line-height:1.5;color:var(--ui-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dorms-folio .home-app-list .home-app-list-main>svg{flex:none;width:18px;height:18px}
.dorms-folio .home-app-list .home-app-list-controls{padding:0 14px 12px;margin-top:auto}
.dorms-folio .home-app-list .home-app-list-main:focus-visible{outline:2px solid var(--ui-focus);outline-offset:-3px}
@media(max-width:600px){.dorms-folio .home-app-list .home-app-list-main{padding:12px;gap:10px}.dorms-folio .home-app-list .home-app-list-preview{width:72px;height:72px}.dorms-folio .home-app-list .home-app-list-controls{padding-inline:12px}.dorms-folio .home-app-list .home-app-list-main>svg{display:none}}
.dorms-folio .home-profile img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.dorms-folio .home-profile{display:grid;place-items:center;overflow:hidden}
.dorms-folio .imported-site-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dorms-folio .imported-site-navigation .action{justify-content:space-between;min-height:44px}
.dorms-folio .guide-search-icon{width:60px;height:60px;border:1px solid var(--ui-border);border-radius:50%;display:grid;place-items:center;background:var(--ui-raised);color:var(--ui-text)}
.dorms-folio .guide-button{min-height:72px;justify-content:center}
.dorms-folio .home-whole-search{margin-top:12px}
.dorms-folio .home-data-error{margin-top:18px;padding:14px;border:1px solid var(--ui-border);border-radius:14px}
.dorms-folio.v08 .action.primary:hover:not(:disabled){background:var(--book-cta,var(--ui-primary));color:var(--book-cta-ink,#1C1C1C);filter:brightness(.96)}
@media(max-width:800px){.dorms-folio .home-linktree{display:none}.dorms-folio .home-header .header-right{gap:8px}.dorms-folio .home-header .header-right nav{gap:14px;margin-right:0}.dorms-folio .home-header .home-profile{display:none}.dorms-folio .home-app-list .app-list-image-empty{width:78px;min-height:65px}}
@media(max-width:370px){.dorms-folio .home-header .header-right nav{gap:8px}.dorms-folio .home-header .header-right{gap:3px}}
