@font-face{font-family:BarSong;src:url(/assets/fonts/bar-song.woff2)format("woff2");font-display:swap}@font-face{font-family:BarEditorial;src:url(/assets/fonts/bar-editorial.woff2)format("woff2");font-style:italic;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-sunken:#08090b;--surface-page:#0e0f12;--surface-card:#16181c;--surface-raised:#22262c;--surface-input:#101216;--text:#ece5d6;--text-strong:#f5e6c8;--text-muted:#b5b1a7;--text-subtle:#a09c92;--text-reading:#d8d2c4;--border:#e8dfcb24;--border-strong:#e8dfcb47;--border-control:#76736a;--accent:#c89b4b;--accent-hover:#d9ad61;--accent-active:#b5893d;--accent-text:#dcb877;--accent-tint:#c89b4b1f;--on-accent:#16130d;--surface-lift:#f5e6c806;--gold-hairline:#c89b4b24;--wash-hover:#e8dfcb14;--wash-active:#e8dfcb24;--disabled-bg:#1d2024;--disabled-fg:#a09c92;--disabled-border:#e8dfcb24;--danger:#ee8a98;--danger-solid:#a03c50;--danger-solid-hover:#b24659;--danger-solid-active:#8b3244;--on-danger:#fff4f5;--danger-tint:#a03c5029;--danger-border:#ee8a9873;--success:#a5c3d6;--success-tint:#3d54664d;--success-border:#a5c3d666;--info:#cfd6dc;--info-tint:#cfd6dc14;--info-border:#cfd6dc4d;--focus:#f7e7c4;--focus-halo:#08090be6;--font-sans:Inter, "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei UI", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans CJK SC", sans-serif;--font-song:BarSong, "Songti SC", "Noto Serif CJK SC", SimSun, serif;--font-editorial:BarEditorial, Georgia, serif;--text-xs:.8125rem;--text-sm:.875rem;--text-md:.9375rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:clamp(1.625rem, 2.2vw, 2.125rem);--text-display:clamp(2rem, 3.2vw, 2.875rem);--tracking:.015em;--tracking-title:.06em;--gutter:clamp(20px, 4vw, 64px);--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--control-height:44px;--content-max:1480px;--topbar-height:64px;--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-glide:cubic-bezier(.45, .05, .2, 1);--dur-quick:.12s;--dur-base:.18s;--dur-glide:.24s;--dur-slow:.4s;font-family:var(--font-sans);font-synthesis:none;letter-spacing:var(--tracking);color:var(--text);background:var(--surface-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;line-height:1.75}*{box-sizing:border-box}@media (hover:hover){html{scrollbar-gutter:stable}}html{scrollbar-color:#3a3428 transparent;scrollbar-width:thin;-webkit-text-size-adjust:100%}body{overflow-wrap:break-word;background:var(--surface-page);min-width:280px;margin:0}@media (width>=768px){body{font-weight:300}.primary,.sidebar-links a.active,.mobile-nav a.active{font-weight:400}}::selection{background:#c89b4b4d}img{max-width:100%}h1,h2,h3,p{overflow-wrap:anywhere;margin:0}h1,h2,h3{font-family:var(--font-song);color:var(--text-strong);letter-spacing:var(--tracking-title);text-wrap:balance;font-weight:400;line-height:1.5}h1{font-size:var(--text-2xl);line-height:1.45}h2{font-size:1.25rem;line-height:1.5}h3{font-size:1.0625rem;line-height:1.5}p{text-wrap:pretty}small{font-size:var(--text-xs)}hr{border:0;border-top:1px solid var(--border);margin:28px 0}.muted{color:var(--text-muted);font-size:var(--text-md);line-height:1.8}.pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.editorial{font-family:var(--font-editorial);letter-spacing:.005em;color:var(--text-muted);font-size:1.1875rem;font-style:italic;line-height:1.3}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon{vertical-align:middle;background:currentColor;flex-shrink:0;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (forced-colors:active){.icon{forced-color-adjust:none;background:canvastext}}.prose{color:var(--text-reading);font-size:var(--text-base);overflow-wrap:anywhere;line-height:1.95}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose p,.prose ul,.prose ol{margin:14px 0}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--font-song);color:var(--text-strong);letter-spacing:var(--tracking-title);margin:28px 0 8px;font-size:1.125rem;font-weight:400}.prose a:empty{display:none}.prose strong{color:var(--text-strong);font-weight:inherit}.prose pre{background:var(--surface-sunken);border-radius:var(--radius-md);max-width:100%;padding:16px;overflow:auto}.prose code{font-size:.875em}.prose img{max-width:100%;height:auto}.prose table{display:block;overflow-x:auto}.prose blockquote{border-left:1px solid var(--accent);color:var(--text-muted);margin:20px 0;padding-left:18px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-halo)}main:focus,dialog:focus,.notice:focus{box-shadow:none;outline:none}button,.button{--btn-bg:transparent;--btn-bg-hover:var(--wash-hover);--btn-bg-active:var(--wash-active);--btn-fg:var(--text);--btn-fg-hover:var(--btn-fg);--btn-fg-active:var(--btn-fg-hover);--btn-border:var(--border-strong);--btn-border-hover:var(--border-control);--btn-border-active:var(--border-control);min-height:var(--control-height);border:1px solid var(--btn-border);border-radius:var(--radius-md);background:var(--btn-bg);color:var(--btn-fg);font-size:var(--text-md);letter-spacing:.06em;text-align:center;cursor:pointer;overflow-wrap:anywhere;transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-quick) var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:10px 16px;line-height:1.45;text-decoration:none;display:inline-flex}.button .icon,button .icon,.text-link .icon{transition:transform var(--dur-base) var(--ease-out)}.primary{--btn-bg:var(--accent);--btn-bg-hover:var(--accent-hover);--btn-bg-active:var(--accent-active);--btn-fg:var(--on-accent);--btn-border:var(--accent);--btn-border-hover:var(--accent-hover);--btn-border-active:var(--accent-active)}.danger{--btn-bg:var(--danger-solid);--btn-bg-hover:var(--danger-solid-hover);--btn-bg-active:var(--danger-solid-active);--btn-fg:var(--on-danger);--btn-border:var(--danger-border);--btn-border-hover:var(--danger);--btn-border-active:var(--danger);font-weight:500}.text-button{--btn-bg-hover:transparent;--btn-bg-active:transparent;--btn-fg:var(--accent-text);--btn-fg-hover:var(--text-strong);--btn-border:transparent;--btn-border-hover:transparent;--btn-border-active:transparent;min-height:32px;font-size:var(--text-md);text-underline-offset:3px;padding:4px 2px}.text-button:not(:disabled){text-decoration:underline}.icon-button{width:var(--control-height);flex-shrink:0;padding:0}.wide{width:100%}@media (hover:hover){button:hover,.button:hover{background:var(--btn-bg-hover);border-color:var(--btn-border-hover);color:var(--btn-fg-hover)}.primary:hover>.icon,.text-link:hover .icon{transform:translate(2px)}}button:active,.button:active{background:var(--btn-bg-active);border-color:var(--btn-border-active);color:var(--btn-fg-active)}button:disabled,button[aria-disabled=true]{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-fg);cursor:not-allowed}.text-button:disabled,.text-button[aria-disabled=true]{background:0 0;border-color:#0000}button[aria-busy=true],button[aria-busy=true]:hover,button[aria-busy=true]:active{background:var(--btn-bg);border-color:var(--btn-border);color:var(--btn-fg);cursor:progress}.segments{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:0 22px;display:inline-flex;position:relative}.segments button{--btn-bg-hover:transparent;--btn-bg-active:transparent;--btn-border:transparent;--btn-border-hover:transparent;--btn-border-active:transparent;--btn-fg:var(--text-muted);--btn-fg-hover:var(--text-strong);min-height:40px;font-size:var(--text-sm);white-space:nowrap;border-radius:0;padding:8px 2px}.segments [aria-pressed=true]{--btn-fg:var(--text-strong)}.segment-mark{width:var(--mark-w,0);background:var(--accent);height:1px;transform:translate(var(--mark-x,0), calc(var(--mark-y,0px) + var(--mark-h,0px)));transition:transform var(--dur-glide) var(--ease-glide), width var(--dur-glide) var(--ease-glide);pointer-events:none;position:absolute;top:0;left:0}button.is-on{--btn-bg:var(--accent-tint);--btn-bg-hover:var(--accent-tint);--btn-bg-active:var(--accent-tint);--btn-border:var(--accent);--btn-border-hover:var(--accent-hover);--btn-fg:var(--text-strong)}.text-link{min-height:44px;color:var(--accent-text);font-size:var(--text-sm);transition:color var(--dur-base) var(--ease-out);align-items:center;gap:8px;display:inline-flex}.prose a,.inline-link{color:var(--accent-text);text-underline-offset:3px;text-decoration:underline}@media (hover:hover){.text-link:hover,.prose a:hover,.inline-link:hover{color:var(--text-strong)}}.text-link:active,.prose a:active,.inline-link:active{color:var(--text-strong)}.card-link{--btn-bg:transparent;--btn-bg-hover:transparent;--btn-bg-active:transparent;--btn-border:transparent;--btn-border-hover:transparent;--btn-border-active:transparent;--btn-fg:inherit;min-height:0;font:inherit;text-align:left;letter-spacing:inherit;border:0;padding:0;display:inline}.card-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.card-link:focus-visible{box-shadow:none;outline:none}.card-link:focus-visible:after{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-halo)}@media (hover:hover){.card-link:hover{color:var(--accent-text)}}input,textarea,select{width:100%;min-width:0;min-height:var(--control-height);border:solid var(--border-control);color:var(--text);font-size:var(--text-base);letter-spacing:var(--tracking);transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);background:0 0;border-width:0 0 1px;border-radius:0;padding:10px 0;line-height:1.5}textarea{resize:vertical;max-height:50vh}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23b5b1a7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}select option{background:var(--surface-card);color:var(--text)}input::placeholder,textarea::placeholder{color:var(--text-subtle);opacity:1}@media (hover:hover){input:hover,textarea:hover,select:hover{border-color:var(--text-subtle)}}input:focus-visible,textarea:focus-visible,select:focus-visible,input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 1px 0 var(--accent);outline:none}.checkbox input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input:disabled,textarea:disabled,select:disabled{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-fg);cursor:not-allowed}.select{min-width:0;position:relative}.select-trigger{--btn-bg-hover:transparent;--btn-bg-active:transparent;--btn-border:var(--border-control);--btn-border-hover:var(--text-subtle);--btn-border-active:var(--accent);--btn-fg:var(--text);--btn-fg-hover:var(--text-strong);width:100%;font-size:var(--text-base);letter-spacing:var(--tracking);text-align:left;white-space:nowrap;border-width:0 0 1px;border-radius:0;justify-content:space-between;gap:10px;padding:10px 2px 10px 0}.select-trigger[aria-expanded=true]{--btn-border:var(--accent);--btn-border-hover:var(--accent);--btn-fg:var(--text-strong)}.select-trigger:focus-visible{border-color:var(--accent);box-shadow:0 1px 0 var(--accent);outline:none}.select-value{text-overflow:ellipsis;min-width:0;overflow:hidden}.select-trigger>.icon{color:var(--text-muted);transition:transform var(--dur-base) var(--ease-out);flex-shrink:0}.select-trigger[aria-expanded=true]>.icon{transform:rotate(180deg)}.select-list{z-index:30;overscroll-behavior:contain;scrollbar-width:thin;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-raised);min-width:max(100%,168px);max-height:min(320px,50vh);animation:select-in var(--dur-quick) var(--ease-out);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 16px 40px #00000080}.select-list.up{top:auto;bottom:calc(100% + 6px)}.select-list[hidden]{display:none}.select-list li{border-radius:var(--radius-md);min-height:40px;color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-quick) var(--ease-out), color var(--dur-quick) var(--ease-out);justify-content:space-between;align-items:center;gap:16px;padding:8px 12px;line-height:1.45;display:flex}.select-list li.active{background:var(--wash-hover);color:var(--text-strong)}.select-list li[aria-selected=true]{color:var(--text-strong)}.select-list li>.icon{color:var(--accent-text);flex-shrink:0}@keyframes select-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.select-list{animation:none}}input[aria-invalid=true],input[aria-invalid=true]:focus,input[aria-invalid=true]:focus-visible{border-color:var(--danger);box-shadow:0 1px 0 var(--danger)}label,.field{font-size:var(--text-md);color:var(--text);flex-direction:column;gap:6px;display:flex}.checkbox{flex-direction:row;align-items:center;gap:10px;min-height:32px}.checkbox input{appearance:none;border:1px solid var(--border-control);border-radius:var(--radius-sm);background:var(--surface-input);cursor:pointer;flex-shrink:0;place-content:center;width:20px;height:20px;min-height:20px;padding:0;display:inline-grid}.checkbox input:after{content:"";border-left:2px solid var(--on-accent);border-bottom:2px solid var(--on-accent);visibility:hidden;width:12px;height:6px;margin-top:-3px;transform:rotate(-45deg)}.checkbox input:checked{background:var(--accent);border-color:var(--accent)}.checkbox input:checked:after{visibility:visible}.search-field{flex-direction:row;flex:1;align-items:center;gap:0;min-width:min(220px,100%);position:relative}.search-field>.icon{color:var(--text-subtle);pointer-events:none;position:absolute;left:0}.search-field input{padding-left:28px}input[type=search]::-webkit-search-cancel-button{filter:invert(.8)}summary{cursor:pointer;min-height:32px;color:var(--text-muted);transition:color var(--dur-base) var(--ease-out);align-items:center;gap:10px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:before{content:"";width:6px;height:6px;transition:transform var(--dur-base) var(--ease-out);border:1px solid;border-width:0 1px 1px 0;flex-shrink:0;margin-left:1px;transform:rotate(-45deg)}details[open]>summary:before{transform:rotate(45deg)}@media (hover:hover){summary:hover{color:var(--text-strong)}}.busy-label{display:inline-grid}.busy-label>span{grid-area:1/1;justify-content:center;align-items:center;gap:6px;display:inline-flex}.busy-hidden{visibility:hidden}.spinner{border:1px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:1.1s linear infinite spin;display:inline-block}.spinner-large{width:22px;height:22px;color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{border-style:dotted;border-top-color:currentColor}}@media (forced-colors:active){.segments [aria-pressed=true]{outline-offset:-2px;outline:2px solid highlight}.segment-mark,.nav-mark{display:none}.checkbox input{appearance:auto}.checkbox input:after{display:none}}.status{text-align:center;min-height:200px;color:var(--text-muted);font-size:var(--text-md);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:48px 16px;line-height:1.8;display:flex}.status>.icon{opacity:.6}.status-page{min-height:60dvh}.status-page img{border-radius:var(--radius-sm);width:min(320px,100%);height:auto;margin-bottom:8px}.status-page .button{margin-top:8px}.status-error{color:var(--danger)}.status-error button{--btn-fg:var(--text)}.notice{border-radius:var(--radius-md);font-size:var(--text-md);color:var(--text);border:1px solid #0000;align-items:flex-start;gap:10px;padding:12px 14px;line-height:1.7;display:flex}.notice>.icon{margin-top:3px}.notice>div{overflow-wrap:anywhere;min-width:0}.notice-success{background:var(--success-tint);border-color:var(--success-border)}.notice-success>.icon{color:var(--success)}.notice-error{background:var(--danger-tint);border-color:var(--danger-border)}.notice-error>.icon{color:var(--danger)}.notice-info{background:var(--info-tint);border-color:var(--info-border)}.notice-info>.icon{color:var(--info)}main>.notice,.atelier-home>.notice{z-index:1;margin-bottom:16px;position:relative}main>.notice+.page .atelier-hero{margin-top:0}.field-error{color:var(--danger);font-size:var(--text-sm);align-items:flex-start;gap:6px;line-height:1.6;display:flex}.field-error>.icon{margin-top:3px}.field-hint{color:var(--text-muted);font-size:var(--text-sm);line-height:1.6}.form-stack{flex-direction:column;gap:16px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-actions{flex-wrap:wrap;gap:12px;display:flex}.delete-confirm{border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-tint);margin-top:20px;padding:16px 18px;scroll-margin-bottom:16px}.delete-confirm p{font-size:var(--text-md);margin-bottom:12px}.dialog-feedback{min-height:46px;margin-top:12px}.notice .text-button{min-height:24px;font-size:inherit;padding-block:0}.toolbar{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-bottom:20px;display:flex}.toolbar .select{max-width:100%}.result-count{color:var(--text-subtle);font-size:var(--text-xs);margin-left:auto}.pagination{font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:24px;display:flex}dialog{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-card);width:min(680px,100% - 32px);max-height:calc(100dvh - 48px);color:var(--text);overscroll-behavior:contain;padding:0;scroll-padding-block:96px 16px;overflow-y:auto;box-shadow:0 24px 80px #0000008c}dialog::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#08090bc7}.modal-heading{z-index:2;border-bottom:1px solid var(--border);background:var(--surface-card);justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 16px 14px 32px;display:flex;position:sticky;top:0}.modal-heading>div{min-width:0;padding-top:6px}.modal-heading h2{font-size:1.5rem;line-height:1.4}.modal-heading .icon-button{--btn-border:transparent;--btn-border-hover:transparent;--btn-border-active:transparent;--btn-fg:var(--text-muted);--btn-fg-hover:var(--text-strong)}.modal-subtitle{margin-top:2px;font-size:1.125rem}.modal-body{padding:24px 32px 32px}.modal-body>*+.form-actions{margin-top:20px}.modal-body>.notice{margin-top:16px}.entry-notes{margin:16px 0;line-height:1.85}dialog h3{margin:28px 0 8px}@media (width<=767px){dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.modal-heading{padding:10px 10px 10px 16px}.modal-heading>div{padding-top:8px}.modal-heading h2{font-size:1.1875rem}.modal-body{padding:16px 16px 20px}}@media (width<=479px){.form-grid{grid-template-columns:1fr}}@media (height<=480px){dialog{scroll-padding-block:76px 12px}.modal-heading{padding-block:6px}.modal-heading>div{padding-top:6px}.modal-heading h2{font-size:var(--text-lg)}.modal-heading>div{flex-wrap:wrap;align-items:baseline;gap:0 10px;display:flex}.modal-subtitle{margin-top:0;font-size:1rem}}.skip-link{z-index:100;border-radius:var(--radius-md);background:var(--accent);color:var(--on-accent);padding:10px 14px;font-weight:500;position:fixed;top:-100px;left:16px}.skip-link:focus{top:8px}.app-shell{grid-template-columns:208px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{z-index:3;scrollbar-width:thin;border-right:1px solid var(--border);flex-direction:column;height:100dvh;padding:28px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{border-radius:var(--radius-md);color:var(--text-strong);align-items:center;gap:10px;padding:2px 4px;display:flex}.brand img{object-fit:contain;width:30px;height:30px}.brand-name{font-family:var(--font-song);letter-spacing:.08em;font-size:1.1875rem;line-height:1.2}.brand-name small{font-family:var(--font-editorial);letter-spacing:.03em;color:var(--text-subtle);margin-top:1px;font-size:.875rem;font-style:italic;display:block}.sidebar-links{margin-top:36px;position:relative}.sidebar-links nav{flex-direction:column;gap:2px;display:flex}.sidebar-links a{border-radius:var(--radius-md);min-height:44px;color:var(--text-muted);font-size:var(--text-md);transition:color var(--dur-base) var(--ease-out);align-items:center;gap:12px;padding:8px 10px 8px 14px;display:flex}.sidebar-links a>.icon{transition:color var(--dur-base) var(--ease-out)}.sidebar-links a.active{color:var(--text-strong)}.sidebar-links a.active>.icon{color:var(--accent)}@media (hover:hover){.sidebar-links a:not(.active):hover{color:var(--text-strong)}}.sidebar-links a:not(.active):active{color:var(--text-strong)}.sidebar-chat{margin-top:14px;position:relative}.sidebar-chat:before{content:"";border-top:1px solid var(--border);position:absolute;top:-8px;left:14px;right:10px}.nav-mark{width:1px;height:calc(var(--mark-h,0px) - 20px);background:var(--accent);opacity:0;transform:translateY(calc(var(--mark-y,0px) + 10px));transition:transform var(--dur-glide) var(--ease-glide), height var(--dur-glide) var(--ease-glide), opacity var(--dur-base) var(--ease-out);pointer-events:none;position:absolute;top:0;left:0}[data-marked]>.nav-mark{opacity:1}.workspace{flex-direction:column;min-width:0;display:flex}.topbar{z-index:2;width:100%;max-width:var(--content-max);min-height:var(--topbar-height);padding-inline:var(--gutter);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 12px;margin-inline:auto;display:flex;position:relative}.masthead{border-radius:var(--radius-sm);font-family:var(--font-song);letter-spacing:.08em;white-space:nowrap;color:var(--text-strong);align-items:center;gap:8px;margin-right:auto;font-size:1.0625rem;display:none}.masthead img{width:24px;height:24px}.topbar-actions{align-items:center;gap:16px;display:flex}.account{--btn-border:transparent;--btn-border-hover:transparent;--btn-border-active:transparent;--btn-bg-hover:transparent;--btn-bg-active:transparent;--btn-fg:var(--text-muted);--btn-fg-hover:var(--text-strong);font-size:var(--text-sm);white-space:nowrap;gap:7px;min-height:40px;padding:6px 0}.topbar-chat{--btn-border:transparent;--btn-border-hover:transparent;--btn-border-active:transparent;--btn-bg-hover:transparent;--btn-bg-active:transparent;--btn-fg:var(--text-muted);--btn-fg-hover:var(--text-strong);flex-shrink:0;width:36px;min-height:40px;padding:0;display:none}.topbar-chat.active{--btn-fg:var(--accent);--btn-fg-hover:var(--accent)}.language-switch{--btn-border:transparent;--btn-border-hover:transparent;--btn-border-active:transparent;--btn-bg-hover:transparent;--btn-bg-active:transparent;--btn-fg:var(--text-muted);--btn-fg-hover:var(--text-strong);min-width:36px;min-height:40px;font-size:var(--text-sm);letter-spacing:.04em;white-space:nowrap;flex-shrink:0;padding:6px 2px}main{width:100%;max-width:var(--content-max);padding:8px var(--gutter) 72px;flex:1;min-width:0;margin:0 auto}.footer{width:calc(100% - 2 * var(--gutter));max-width:calc(var(--content-max) - 2 * var(--gutter));border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--text-subtle);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-inline:auto;padding-block:22px;display:flex}.mobile-nav{display:none}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:8px 0 40px;display:flex}.page-heading .muted{font-size:var(--text-base);margin-top:8px}@media (width<=1199px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{align-items:stretch;padding:20px 6px}.brand{justify-content:center}.brand-name{display:none}.sidebar-links{margin-top:24px}.sidebar-links a{min-height:58px;font-size:var(--text-xs);flex-direction:column;gap:4px;padding:8px 2px}}@media (width<=767px){.app-shell{display:block}.sidebar{display:none}:root{--topbar-height:56px}.topbar{justify-content:space-between}.masthead,.topbar-chat{display:inline-flex}html{scroll-padding-bottom:76px}main{padding-bottom:40px}.footer{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.page-heading{margin-bottom:20px}.mobile-nav{z-index:20;padding:4px max(4px, env(safe-area-inset-left)) calc(4px + env(safe-area-inset-bottom));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0e0f12f5;justify-content:space-around;display:flex;position:fixed;inset:auto 0 0}.mobile-nav a{border-radius:var(--radius-md);min-width:0;min-height:52px;color:var(--text-muted);font-size:var(--text-xs);transition:color var(--dur-base) var(--ease-out);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;display:flex}.mobile-nav a.active{color:var(--text-strong)}.mobile-nav a.active>.icon{color:var(--accent)}.mobile-nav .nav-mark{width:28px;height:1px;transform:translateX(calc(var(--mark-x,0px) + var(--mark-w,0px) / 2 - 14px));top:-1px}.mobile-nav a:active{color:var(--text-strong)}}@media (width<=767px) and (height<=600px){.app-shell:has(input:focus,textarea:focus) .mobile-nav{display:none}}@media (height<=480px) and (width<=1199px){.mobile-nav{position:relative}.footer{padding-bottom:20px}.sidebar{height:auto;min-height:100dvh;position:static}}@media (width<=479px){.topbar{flex-wrap:nowrap}.topbar-actions{gap:6px}.account{flex-shrink:0;justify-content:center;width:40px;padding:0}.account>span:not(.icon){clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.masthead{min-width:0}}.atelier-hero{isolation:isolate;min-height:clamp(560px,100dvh - 120px,720px);margin:calc(-8px - var(--topbar-height)) calc(var(--gutter) * -1) 0;padding:var(--topbar-height) var(--gutter) 32px;align-items:center;display:flex;position:relative;overflow:hidden}.hero-photograph{z-index:-1;aspect-ratio:3/2;object-fit:cover;width:min(92%,920px);max-width:none;height:auto;position:absolute;top:50%;right:0;translate:0 -50%;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 34% 92%,#0000 100%),linear-gradient(#0000 8%,#000 44% 88%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 34% 92%,#0000 100%),linear-gradient(#0000 8%,#000 44% 88%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.atelier-hero-copy{width:min(520px,48%)}.atelier-hero h1{font-size:var(--text-display);letter-spacing:.08em;line-height:1.3}.hero-description{font-size:var(--text-base);color:var(--text-muted);margin-top:18px;line-height:1.85}.hero-cta{margin-top:16px}.atelier-composer{margin-top:56px}.composer-heading h2{font-size:var(--text-lg)}.composer-heading .muted{font-size:var(--text-sm);line-height:1.6}.atelier-composer form{box-shadow:0 1px 0 var(--border-control);transition:box-shadow var(--dur-base) var(--ease-out);align-items:flex-end;gap:16px;margin-top:8px;padding:6px 0 8px;display:flex}.atelier-composer form:focus-within{box-shadow:0 1px 0 var(--accent)}.atelier-composer textarea,.atelier-composer textarea:focus,.atelier-composer textarea:focus-visible{box-shadow:none;resize:none;field-sizing:content;font-size:var(--text-base);background:0 0;border:0;border-radius:0;outline:0;flex:1;padding:9px 0}.atelier-composer textarea{min-height:44px;max-height:180px}.composer-send{white-space:nowrap;flex-shrink:0}.composer-send:disabled{background:0 0;border-color:#0000}.composer-scenes{flex-wrap:wrap;gap:2px 20px;margin-top:8px;display:flex}.composer-scenes .button{--btn-border:transparent;--btn-border-hover:transparent;--btn-border-active:transparent;--btn-bg-hover:transparent;--btn-bg-active:transparent;--btn-fg:var(--text-muted);--btn-fg-hover:var(--text-strong);min-height:40px;font-size:var(--text-sm);gap:7px;padding:6px 0}.composer-scenes .icon{opacity:.7}.editorial-section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-top:16px;display:flex}.editorial-section-heading h2{font-size:var(--text-xl)}.editorial-section-heading .text-link{flex-shrink:0}.featured-reading{margin-top:56px}.home-reading-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;display:grid}.home-personal{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;margin-top:72px;display:grid}.recent-notes{min-width:0}.conversation-row{border-bottom:1px solid var(--border);min-height:56px;font-size:var(--text-md);transition:color var(--dur-base) var(--ease-out);align-items:center;gap:12px;padding:12px 0;display:flex}.conversation-row>.icon{color:var(--text-subtle);transition:transform var(--dur-base) var(--ease-out)}.conversation-row>span:not(.icon){overflow-wrap:anywhere;flex:1;min-width:0}.conversation-row small{color:var(--text-muted);margin-top:2px;display:block}@media (hover:hover){.conversation-row:hover{color:var(--text-strong)}.conversation-row:hover>.icon:last-child{transform:translate(2px)}}.conversation-row:active{color:var(--text-strong)}.conversation-empty h3{font-size:var(--text-base);margin-bottom:4px}.conversation-empty p{font-size:var(--text-sm);color:var(--text-muted);line-height:1.8}.tasting-note-invite{align-items:center;gap:24px;padding-top:24px;display:flex}.tasting-note-invite>div{min-width:0}.tasting-note-invite h2{font-size:var(--text-xl);margin-bottom:6px}.tasting-note-invite .muted{font-size:var(--text-sm)}@media (hover:hover){.tasting-note-invite:hover .text-link{color:var(--text-strong)}.tasting-note-invite:hover .text-link .icon{transform:translate(2px)}}.journal-invite-photo{object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;width:128px;height:148px}@media (width<=1199px){.atelier-hero{min-height:560px}.hero-photograph{width:min(108%,880px);right:-6%}.atelier-hero-copy{width:min(440px,48%)}.atelier-composer{margin-top:32px}.home-reading-grid{gap:24px}.home-personal{gap:32px;margin-top:56px}.journal-invite-photo{width:104px;height:132px}}@media (width<=767px){.atelier-hero{min-height:0;padding:0 var(--gutter);display:block;overflow:visible}.hero-photograph{z-index:0;width:calc(100% + 2 * var(--gutter));aspect-ratio:auto;height:216px;margin-inline:calc(var(--gutter) * -1);object-position:82% 62%;display:block;position:relative;top:auto;right:auto;translate:none;-webkit-mask-image:linear-gradient(#000 72%,#0000 100%);mask-image:linear-gradient(#000 72%,#0000 100%);-webkit-mask-composite:source-over;mask-composite:add}.atelier-hero-copy{width:100%;margin-top:12px;position:relative}.atelier-hero h1{font-size:2rem}.hero-description{font-size:var(--text-md);margin-top:10px;line-height:1.75}.atelier-composer{margin-top:32px}.composer-send{width:var(--control-height);padding:0}.composer-send>span:not(.icon){display:none}.composer-scenes{gap:0 16px}.composer-scenes .button{white-space:nowrap}.featured-reading{margin-top:48px}.home-reading-grid{grid-template-columns:1fr;gap:20px}.home-reading-grid .article-card{border-bottom:1px solid var(--border);border-radius:0;grid-template-columns:96px minmax(0,1fr);gap:16px;padding-bottom:20px;display:grid}.home-reading-grid .article-cover{aspect-ratio:auto;height:112px}.home-reading-grid .article-copy{padding:0}.home-reading-grid .article-kicker>span:last-child{display:none}.home-reading-grid .article-copy h2{margin:2px 0 4px;font-size:1.0625rem}.home-reading-grid .article-copy p{font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.7;display:-webkit-box;overflow:hidden}.home-reading-grid .article-read{display:none}.home-personal{grid-template-columns:1fr;gap:40px;margin-top:44px}.journal-invite-photo{width:96px;height:116px}}@media (width<=767px) and (height<=480px){.atelier-hero{min-height:300px;padding:var(--topbar-height) var(--gutter) 16px;display:flex;overflow:hidden}.hero-photograph{z-index:-1;object-position:82% 60%;width:60%;height:100%;margin:0;position:absolute;inset:0 0 0 auto;translate:none;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 40%);mask-image:linear-gradient(90deg,#0000 0%,#000 40%);-webkit-mask-composite:source-over;mask-composite:add}.atelier-hero-copy{width:62%;margin-top:0}.atelier-hero h1{font-size:1.5rem}.atelier-composer{margin-top:16px}}@media (width<=359px){.composer-scenes .button{font-size:var(--text-xs)}.composer-scenes .icon{display:none}.home-reading-grid .article-card{grid-template-columns:80px minmax(0,1fr)}.tasting-note-invite{gap:12px}.journal-invite-photo{width:72px;height:104px}}.editorial-card{border-radius:var(--radius-md);text-align:left;flex-direction:column;display:flex;position:relative}.article-cover{aspect-ratio:3/2;border-radius:var(--radius-sm);background:var(--surface-card);flex-shrink:0;position:relative;overflow:hidden}.article-visual{background:var(--surface-card);margin:0;overflow:hidden}.photo-cover>.article-visual{position:absolute;inset:0}.article-visual img{object-fit:cover;width:100%;height:100%;display:block}@media (hover:hover) and (prefers-reduced-motion:no-preference){.editorial-card:hover .article-visual img{transform:scale(1.015)}}.article-copy{flex-direction:column;flex:1;padding:16px 0 4px;display:flex}.article-kicker{color:var(--text-subtle);font-size:var(--text-xs);justify-content:space-between;gap:12px;display:flex}.article-copy h2{margin:8px 0 6px;font-size:1.1875rem;line-height:1.5}.article-copy p{font-size:var(--text-md);color:var(--text-muted);line-height:1.8}.article-read{color:var(--text-muted);font-size:var(--text-sm);transition:color var(--dur-base) var(--ease-out);align-items:center;gap:6px;margin-top:auto;padding-top:14px;display:flex}.article-read .icon{transition:transform var(--dur-base) var(--ease-out)}@media (hover:hover){.editorial-card:hover .article-read{color:var(--accent-text)}.editorial-card:hover .article-read .icon{transform:translate(2px)}}.article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 40px;display:grid}@media (width>=1200px){.article-grid:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}.discover-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 40px;margin-bottom:8px;scroll-margin-top:16px;display:flex}.discover-toolbar .search-field{flex:0 280px}.results-caption{min-height:22px;color:var(--text-subtle);font-size:var(--text-xs);margin-bottom:24px}.reading-byline{color:var(--text-subtle);font-size:var(--text-sm);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;display:flex}.reading-visual{aspect-ratio:16/9;border-radius:var(--radius-sm);width:100%;margin:16px 0}.reading-lead{font-family:var(--font-song);font-size:var(--text-lg);letter-spacing:.03em;color:var(--text);margin:20px 0;line-height:1.8}.reading-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:28px;padding-top:16px;display:flex}.reading-footer .notice{flex:100%}.member-preview{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:24px;min-height:420px;display:grid}.member-preview-copy{padding:16px 0}.member-preview-copy h2{font-size:var(--text-2xl);margin-bottom:12px;line-height:1.4}.member-preview-copy>p{max-width:420px;font-size:var(--text-base);color:var(--text-muted);line-height:1.85}.member-preview-copy .button{margin-top:28px}.member-art.member-photo{align-self:stretch;min-height:360px;position:relative;overflow:hidden}.member-photo>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 30% 92%,#0000 100%),linear-gradient(#0000 0%,#000 12% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 30% 92%,#0000 100%),linear-gradient(#0000 0%,#000 12% 92%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}@media (width<=1199px){.article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.discover-toolbar .search-field{flex:240px}.member-preview{grid-template-columns:1fr;gap:16px;min-height:0}.member-art.member-photo{aspect-ratio:3/2;align-self:start;min-height:0}.member-art.member-photo>img{object-fit:contain}}@media (width<=767px){.article-grid{grid-template-columns:1fr;gap:36px}.discovery-categories{width:100%;display:flex}.discovery-categories button{flex:1}.discover-toolbar .search-field{flex-basis:100%}.member-preview-copy{padding:0}.member-preview-copy h2{font-size:1.5rem}.member-art.member-photo>img{object-fit:cover}}.auth-layout{grid-template-columns:minmax(0,1fr) 400px;gap:32px;margin:8px 0 32px;display:grid}.auth-story{isolation:isolate;flex-direction:column;justify-content:flex-end;min-height:560px;padding:0 0 8px;display:flex;position:relative;overflow:hidden}.auth-story:before{content:"";z-index:-1;background:url(/assets/editorial/quiet-hero.webp) 84%/cover no-repeat;position:absolute;inset:0 0 72px;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 26% 84%,#0000 100%),linear-gradient(#0000 0%,#000 26% 88%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 26% 84%,#0000 100%),linear-gradient(#0000 0%,#000 26% 88%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.auth-story-title{font-family:var(--font-song);font-size:var(--text-xl);letter-spacing:var(--tracking-title);color:var(--text-strong);line-height:1.45}.auth-story-text{max-width:360px;font-size:var(--text-md);color:var(--text-muted);margin-top:8px;line-height:1.8}.auth-form{align-self:center;padding:40px}.auth-form h1{font-size:2rem;line-height:1.35}.auth-form>.muted{margin:8px 0 32px}.auth-form form{flex-direction:column;gap:18px;display:flex}.auth-form form>.primary{width:100%;min-height:46px;margin-top:8px}.auth-form form>.text-button{align-self:flex-start}.password-field{position:relative}.password-toggle{color:var(--text-muted);font-size:var(--text-sm);position:absolute;top:-5px;right:0}.auth-switch{color:var(--text-muted);font-size:var(--text-md);flex-wrap:wrap;align-items:center;gap:2px 4px;margin-top:20px;display:flex}.account-panel{max-width:560px}.account-panel h2{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:inherit;letter-spacing:var(--tracking);overflow-wrap:anywhere;margin-bottom:8px}.account-links{border-top:1px solid var(--border);margin:28px 0}.account-links a{border-bottom:1px solid var(--border);min-height:54px;font-size:var(--text-base);transition:color var(--dur-base) var(--ease-out);align-items:center;gap:12px;padding:8px 0;display:flex}.account-links a>span:not(.icon){flex:1}.account-links .icon{color:var(--text-subtle);transition:transform var(--dur-base) var(--ease-out)}@media (hover:hover){.account-links a:hover{color:var(--text-strong)}.account-links a:hover>.icon:last-child{transform:translate(2px)}}.account-links a:active{color:var(--text-strong)}@media (width<=1199px){.auth-layout{grid-template-columns:minmax(0,1fr) 360px;gap:24px}.auth-form{padding:32px 28px}}@media (width<=767px){.auth-layout{flex-direction:column-reverse;gap:32px;margin-top:0;display:flex}.auth-story{border-top:1px solid var(--border);min-height:0;padding:20px 0 0}.auth-story:before{display:none}.auth-story-title{font-size:var(--text-lg)}.auth-form{width:100%;padding:24px 20px}}.journal-grid{grid-template-columns:minmax(0,1fr);margin-top:8px;scroll-margin-top:16px;display:grid}.journal-card{overflow-wrap:anywhere;border-bottom:1px solid var(--border);grid-column:1;grid-template-columns:136px minmax(0,1fr) auto;align-content:start;column-gap:32px;min-width:0;padding:26px 0;display:grid;position:relative}.journal-card>*{grid-column:2}.journal-card-meta{color:var(--text-subtle);font-size:var(--text-xs);flex-direction:column;grid-area:1/1/span 6;align-items:flex-start;gap:6px;padding-top:5px;display:flex}@media (width>=1200px){.journal-grid:not(:empty){grid-template-columns:minmax(0,1fr) 280px;column-gap:56px}.journal-grid:not(:empty):after{content:"";aspect-ratio:3/4;border-radius:var(--radius-sm);opacity:.72;background:url(/assets/editorial/journal-editorial.webp) 50%/cover;grid-area:1/2/span 40;align-self:start;margin-top:26px;position:sticky;top:24px}}.favorite-mark{color:var(--accent-text);align-items:center;gap:4px;display:inline-flex}.journal-card h2{font-size:1.25rem;line-height:1.5}.journal-card .muted{font-size:var(--text-sm);margin-top:2px}.rating{color:var(--accent-text);font-size:var(--text-sm);font-family:var(--font-song);grid-area:1/3;margin:4px 0 0}.note-preview{color:var(--text-muted);font-size:var(--text-md);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:8px 0;line-height:1.8;display:-webkit-box;overflow:hidden}.journal-card>small{color:var(--text-subtle);margin-top:auto;padding-top:4px}.journal-empty{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:40px;margin-top:8px;padding:28px;display:grid}.journal-empty img{aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-sm);width:100%;height:auto;display:block}.journal-empty h2{font-size:var(--text-xl);margin-bottom:8px}.journal-empty p{color:var(--text-muted);font-size:var(--text-base);line-height:1.85}.journal-empty button{margin-top:20px}#journal-results{scroll-margin-top:16px}main>.notice{margin-bottom:16px}.rating-field{border:0;min-width:0;margin:0;padding:0}.rating-field legend{font-size:var(--text-md);padding:0}.rating-choices{flex-wrap:wrap;gap:4px 6px;margin-top:6px;display:flex}.rating-choice{flex-direction:row;position:relative}.rating-choice input{opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;margin:0;position:absolute;inset:0}.rating-choice span{border-bottom:1px solid var(--border);min-width:44px;min-height:44px;color:var(--text-muted);font-family:var(--font-song);transition:color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);justify-content:center;align-items:center;padding-inline:10px;display:flex}.rating-choice input:checked+span{border-color:var(--accent);color:var(--text-strong)}.rating-choice input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.form-more summary{min-height:44px;font-size:var(--text-md)}.form-more[open] summary{margin-bottom:8px}.journal-form-actions,.modal-body form>.form-actions{z-index:1;background:var(--surface-card);margin-inline:-4px;padding:12px 4px;position:sticky;bottom:0}.modal-body textarea{resize:none}@media (width<=767px){.journal-card{grid-template-columns:minmax(0,1fr) auto;column-gap:16px;padding:20px 0}.journal-card>*{grid-column:1}.journal-card-meta{flex-direction:row;grid-area:auto/1/auto/-1;justify-content:space-between;width:100%;margin-bottom:8px;padding-top:0}.rating{grid-area:2/2}.journal-empty{grid-template-columns:1fr;gap:20px;padding:18px}}.bar-layout{grid-template-columns:minmax(260px,296px) minmax(0,1fr);align-items:start;gap:48px;display:grid}.inventory-panel{flex-direction:column;max-height:calc(100dvh - 32px);padding:24px 28px 28px;display:flex;position:sticky;top:16px}.inventory-heading{align-items:center;gap:8px;display:flex}.inventory-heading h2{min-width:0;font-size:var(--text-lg);flex:1;line-height:1.4}.inventory-heading h2 small{font-family:var(--font-sans);font-size:var(--text-sm);letter-spacing:0;color:var(--text-subtle);margin-left:2px}.inventory-add{--btn-border:transparent;--btn-border-hover:transparent;--btn-border-active:transparent;--btn-bg-hover:transparent;--btn-bg-active:transparent;--btn-fg:var(--accent-text);--btn-fg-hover:var(--text-strong);min-height:38px;font-size:var(--text-sm);flex-shrink:0;gap:4px;padding:6px 0}.inventory-toggle{--btn-border:transparent;--btn-border-hover:transparent;--btn-border-active:transparent;--btn-bg-hover:transparent;--btn-bg-active:transparent;--btn-fg:var(--text-muted);--btn-fg-hover:var(--text-strong);min-height:38px;font-size:var(--text-sm);padding:6px 4px;display:none}.inventory-content{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;margin-top:12px;overflow-y:auto}.inventory-content .status{text-align:left;min-height:0;font-size:var(--text-sm);align-items:flex-start;padding:16px 0 8px}.inventory-content .status>.icon{display:none}.inventory-list button{--btn-border:transparent;--btn-border-hover:transparent;--btn-border-active:transparent;--btn-bg-hover:transparent;--btn-bg-active:transparent;--btn-fg-hover:var(--text-strong);border-bottom:1px solid var(--border);text-align:left;border-radius:0;justify-content:flex-start;gap:8px;width:100%;min-height:54px;padding:8px 0}.inventory-name{overflow-wrap:anywhere;flex:1;min-width:0}.inventory-list small,.material-results small{color:var(--text-muted);font-size:var(--text-xs);margin-top:2px;line-height:1.5;display:block}.inventory-list .icon{color:var(--text-subtle)}.material-results{margin-top:8px}.material-results>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.material-results>div>span{overflow-wrap:anywhere;min-width:0}.material-results button{flex-shrink:0;width:112px}.menu-panel{min-width:0;padding-top:20px;scroll-margin-top:16px}.menu-masthead{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.menu-masthead h2{font-size:var(--text-xl)}.menu-panel .toolbar{margin-bottom:8px}.menu-panel .filters{align-items:flex-end;gap:12px 28px;margin-bottom:4px}.filters .select{min-width:9.5em}.filters .select-trigger{--btn-border:var(--border-strong);min-height:40px;font-size:var(--text-sm);padding:6px 2px 6px 0}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 48px;margin-top:16px;display:grid}.recipe-card{border-bottom:1px solid var(--border);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);gap:6px 20px;min-width:0;padding:24px 0;display:grid;position:relative}.recipe-card:has(.recipe-photo){grid-template-columns:minmax(0,1fr) 84px}.recipe-name{display:contents}.recipe-card>*,.recipe-name>div{grid-column:1;min-width:0}.recipe-name h3{font-size:1.1875rem;line-height:1.45}.recipe-name .editorial{overflow-wrap:anywhere;margin-top:1px;font-size:1rem;display:block}.recipe-name .recipe-photo{grid-area:1/2/span 3}.recipe-photo{margin:0}.recipe-photo img{aspect-ratio:3/4;object-fit:contain;border-radius:var(--radius-sm);background:var(--surface-sunken);width:100%;display:block}.recipe-ingredients{color:var(--text-muted);font-size:var(--text-sm);margin-top:6px;line-height:1.75}.ingredient-name{text-overflow:ellipsis;white-space:nowrap;vertical-align:top;max-width:100%;display:inline-block;overflow:hidden}.ingredient-name:has(+.ingredient-name):after{content:"·";color:var(--text-subtle);margin:0 .55em}.ingredient-more{color:var(--text-subtle);white-space:nowrap;margin-left:.6em}.recipe-meta{color:var(--text-subtle);font-size:var(--text-xs);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin-top:10px;display:flex}.recipe-availability.can-make{color:var(--accent-text);align-items:center;gap:4px;display:inline-flex}.recipe-grid.list{grid-template-columns:1fr;gap:0}.recipe-grid.list .recipe-card{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:14px 0}.recipe-grid.list .recipe-photo{display:none}.recipe-grid.list .recipe-name>div{flex-wrap:wrap;grid-column:1;align-items:baseline;gap:0 10px;display:flex}.recipe-grid.list .recipe-name h3{font-size:1.0625rem}.recipe-grid.list .recipe-name .editorial{font-size:.9375rem}.recipe-grid.list .recipe-ingredients{white-space:nowrap;text-overflow:ellipsis;grid-column:1;margin-top:0;overflow:hidden}.recipe-grid.list .recipe-meta{text-align:right;flex-direction:column;grid-area:1/2/span 2;justify-content:center;align-items:flex-end;margin-top:0}.menu-note{color:var(--text-subtle);font-size:var(--text-xs);margin-top:24px}.recipe-detail{flex-direction:column;gap:16px;display:flex}.recipe-detail:has(.detail-photo){flex-direction:row;align-items:flex-start;gap:28px}.recipe-detail>div{min-width:0;font-size:var(--text-base);flex:1;line-height:1.85}.recipe-detail h3{margin-top:16px}.recipe-photo.detail-photo{flex:none;width:min(240px,42%);min-width:174px}.detail-photo figcaption{font-size:var(--text-xs);color:var(--text-muted);margin-top:8px;line-height:1.6}.detail-photo figcaption a{color:var(--text-muted);text-underline-offset:2px;text-decoration:underline}.recipe-facts{color:var(--text-muted);font-size:var(--text-md);flex-direction:column;line-height:1.7;display:flex}.availability{color:var(--text-muted);font-size:var(--text-md);margin-bottom:8px}.availability.can-make{color:var(--accent-text);align-items:center;gap:6px;display:flex}.ingredient-lines{margin:0;padding:0;list-style:none}.ingredient-lines li{border-bottom:1px solid var(--border);font-size:var(--text-md);justify-content:space-between;gap:16px;padding:10px 0;line-height:1.7;display:flex}.ingredient-lines li>span{overflow-wrap:anywhere;max-width:65%}.ingredient-lines li>span+span{text-align:right;color:var(--text-muted)}.ingredient-lines small{color:var(--text-muted);margin-left:4px}.missing-mark{border:1px solid var(--text-subtle);vertical-align:.1em;border-radius:50%;width:6px;height:6px;margin-inline:8px;display:inline-block}.ingredient-legend{color:var(--text-subtle);font-size:var(--text-xs)}.ingredient-legend .missing-mark{margin-left:0}.recipe-steps{font-size:var(--text-base);margin:0;padding-left:28px;line-height:1.9;list-style:decimal-leading-zero}.recipe-steps li{margin-bottom:8px;padding-left:4px}.recipe-steps li::marker{color:var(--accent-text);font-size:var(--text-sm)}@media (width<=1199px){.bar-layout{grid-template-columns:1fr;gap:36px}.inventory-panel{max-height:none;position:static}.inventory-content{overflow:visible}.inventory-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));column-gap:28px;display:grid}}@media (height<=480px){.recipe-photo.detail-photo{width:110px;min-width:110px}}@media (width<=767px){.inventory-toggle{display:inline-flex}.inventory-content{display:none}.inventory-content.expanded{display:block}.recipe-card{padding:20px 0}.recipe-card:has(.recipe-photo){grid-template-columns:minmax(0,1fr) 72px}.menu-panel .search-field{flex-basis:100%}.bar-layout{gap:24px}.inventory-panel.panel{background:0 0;border:0;padding:0}.inventory-content .status{padding:0}.menu-panel{padding-top:16px}}@media (width<=599px){.recipe-grid{grid-template-columns:minmax(0,1fr)}.recipe-detail:has(.detail-photo){grid-template-rows:auto auto auto 1fr;grid-template-columns:minmax(0,1fr) 174px;align-items:start;gap:0 16px;display:grid}.recipe-detail:has(.detail-photo)>div{display:contents}.recipe-detail:has(.detail-photo)>.detail-photo{display:contents}.detail-photo img{grid-area:1/2/span 4;margin-bottom:8px}.detail-photo figcaption{grid-area:4/1;align-self:end;margin:0 0 8px}.recipe-detail:has(.detail-photo)>div>*{grid-column:1}.recipe-detail:has(.detail-photo)>div>h3{grid-column:1/-1}.recipe-detail:has(.detail-photo)>div>.ingredient-legend{grid-column:1/-1}.recipe-detail:has(.detail-photo)>div>.ingredient-lines{grid-column:1/-1}.page-heading:has(+.bar-layout) .muted{display:none}.menu-masthead .segments{display:none}.menu-masthead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.menu-panel .toolbar{margin-bottom:4px}.filters .segments{width:100%;display:flex}.filters .segments button{flex:1}}@media (width<=359px){.recipe-detail:has(.detail-photo){flex-direction:column-reverse;align-items:stretch;display:flex}.recipe-detail:has(.detail-photo)>div{display:block}.recipe-detail:has(.detail-photo)>.detail-photo{align-self:center;width:174px;display:block}}.chat-layout{grid-template-columns:230px minmax(0,1fr);align-items:stretch;gap:40px;min-height:max(460px,100dvh - 300px);display:grid}.chat-history{scrollbar-width:thin;flex-direction:column;gap:2px;min-height:0;display:flex;overflow-y:auto}.chat-history>.button{width:100%;margin-bottom:12px}.chat-history .status{padding:16px 4px}.chat-history-empty{font-size:var(--text-sm);padding:8px 0}.chat-link{border-left:1px solid var(--border);min-height:40px;color:var(--text-muted);font-size:var(--text-sm);overflow-wrap:anywhere;transition:border-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);padding:8px 0 8px 12px;line-height:1.55;display:block;position:relative}.chat-link.selected{border-left-color:var(--accent);color:var(--text-strong)}@media (hover:hover){.chat-link:not(.selected):hover{color:var(--text-strong)}}.chat-link:not(.selected):active{color:var(--text-strong)}.chat-history .pagination{gap:6px;margin-top:8px}.chat-history .pagination button{min-height:36px;font-size:var(--text-xs);padding:6px 8px}.chat-main{flex-direction:column;min-width:0;min-height:0;display:flex}.chat-title{border-bottom:1px solid var(--border);font-family:var(--font-sans);font-size:var(--text-md);letter-spacing:var(--tracking);color:var(--text-muted);overflow-wrap:anywhere;align-items:center;gap:10px;padding-bottom:12px;line-height:1.5;display:flex}.chat-title>span:not(.icon){min-width:0}.chat-title>.icon{color:var(--text-subtle)}.messages{overscroll-behavior:contain;scrollbar-width:thin;flex:1 1 0;min-height:120px;padding:24px 2px;overflow-y:auto}.message{width:fit-content;max-width:min(100%,720px);margin-bottom:24px}.message.user{border:1px solid var(--gold-hairline);background:#c89b4b0f;border-radius:8px 8px 2px;max-width:min(84%,560px);margin-left:auto;padding:10px 16px}.message-author{color:var(--text-subtle);font-size:var(--text-xs);margin-bottom:4px;display:block}.message.user .message-author{margin-bottom:2px}.message .prose,.message-text{font-size:var(--text-base);overflow-wrap:anywhere;line-height:1.85}.message-pending{color:var(--text-muted);font-size:var(--text-sm);align-items:center;gap:10px;display:flex}.chat-welcome{text-align:center;padding:56px 12px}.chat-welcome .icon{display:none}.chat-welcome h3{font-size:var(--text-xl);margin:0 0 6px}.chat-error{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px 12px;margin:8px 0 10px;display:flex}.chat-error .notice{flex:260px}.chat-composer{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-lift);transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);flex-shrink:0;padding:14px 16px 10px}.chat-composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.chat-send{white-space:nowrap;flex-shrink:0}.chat-composer textarea,.chat-composer textarea:focus,.chat-composer textarea:focus-visible{box-shadow:none;resize:none;field-sizing:content;background:0 0;border:0;outline:0;padding:2px 0;overflow-y:auto}.chat-composer textarea{min-height:52px;max-height:30dvh}.chat-main:has(.chat-error) .chat-disclaimer{display:none}.composer-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:6px;display:flex}.keyboard-hint{color:var(--text-subtle)}.chat-disclaimer{text-align:center;color:var(--text-subtle);flex-shrink:0;margin-top:10px;display:block}@media (pointer:coarse){.keyboard-hint{visibility:hidden}}@media (width<=1199px){.chat-layout{grid-template-columns:176px minmax(0,1fr);gap:24px}}@media (width<=767px){.keyboard-hint{display:none}.composer-foot{justify-content:flex-end}.chat-title{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.chat-page .page-heading{margin-bottom:8px}.chat-page .page-heading h1{font-size:var(--text-xl)}.chat-page .page-heading .muted{display:none}.chat-layout{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);gap:4px;min-height:max(380px,100dvh - 190px)}.chat-history{overscroll-behavior-x:contain;scrollbar-width:none;flex-direction:row;align-items:center;gap:16px;padding:6px 0;overflow-x:auto}.chat-history>.button{white-space:nowrap;flex-shrink:0;width:auto;min-height:40px;margin:0;padding:6px 12px}.chat-link{white-space:nowrap;text-overflow:ellipsis;overflow-wrap:normal;border-bottom:1px solid #0000;border-left:0;flex:none;max-width:200px;padding:8px 0;overflow:hidden}.chat-link.selected{border-bottom-color:var(--accent)}.chat-history .pagination{flex-wrap:nowrap;flex-shrink:0;margin:0}.chat-history .pagination span{white-space:nowrap}.chat-title{padding-bottom:8px}.messages{padding-block:14px}.chat-composer textarea{min-height:40px;max-height:22dvh}.message{margin-bottom:18px}.message.user{max-width:92%;padding:10px 12px}.chat-welcome{padding:24px 8px}}@media (height<=480px){.chat-layout{min-height:0}.messages{flex-basis:100px;min-height:100px}.chat-composer textarea{max-height:72px}.chat-disclaimer,.chat-title{display:none}.chat-composer textarea{min-height:32px}.composer-foot{margin-top:2px}.chat-page .page-heading{display:none}}.tool-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.tool-card{padding:28px}.tool-card h2{font-size:var(--text-xl);margin-bottom:6px}.tool-card h3{margin-bottom:6px}.tool-card .form-grid{margin-top:28px;margin-bottom:8px}.alcohol-output{min-height:124px;color:var(--text-muted);font-size:var(--text-md);flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:28px 0 24px;display:flex}.alcohol-output strong{font-family:var(--font-song);letter-spacing:0;font-variant-numeric:lining-nums;color:var(--text-strong);font-size:3.5rem;font-weight:400;line-height:1}.fine-print{color:var(--text-subtle);font-size:var(--text-xs);line-height:1.8}@media (width<=767px){.tool-grid{grid-template-columns:1fr;gap:16px}.tool-card{padding:22px}.tool-card .form-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.alcohol-output strong{font-size:3rem}}.panel,.auth-form,.journal-empty{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-lift)}.editorial-section-heading,.tasting-note-invite,.menu-panel{border-top:1px solid var(--border);position:relative}.editorial-section-heading:before,.tasting-note-invite:before,.menu-panel:before{content:"";background:var(--accent);pointer-events:none;width:28px;height:1px;position:absolute;top:-1px;left:0}.page-heading h1:after{content:"";background:var(--accent);width:28px;height:1px;margin-top:16px;display:block}@keyframes settle{0%{opacity:0;transform:translateY(4px)}}@keyframes appear{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}:not([data-glide])>.segment-mark,:not([data-glide])>.nav-mark{transition:none}.page{animation:settle var(--dur-glide) var(--ease-out) backwards}.hero-photograph{animation:appear .9s var(--ease-out) backwards}.message,.message-pending,.notice{animation:settle var(--dur-glide) var(--ease-out) backwards}.status[role=status]{animation:appear var(--dur-glide) var(--ease-out) .2s backwards}dialog[open]{animation:rise-in var(--dur-glide) var(--ease-out) backwards}dialog[open]::backdrop{animation:appear var(--dur-glide) var(--ease-out) backwards}.article-visual img{opacity:0;transition:opacity var(--dur-slow) var(--ease-out), transform 1.4s var(--ease-out)}.article-visual img.is-loaded{opacity:1}.recipe-photo{animation:appear var(--dur-slow) var(--ease-out) backwards}@media (pointer:coarse){.segments button,.account,.topbar-chat,.masthead,.brand,.inventory-add,.inventory-toggle,.composer-scenes .button,.chat-link,.chat-history>.button,.chat-history .pagination button,.select-trigger,.text-button,.checkbox,.chat-composer textarea{min-height:44px}.topbar-chat{width:44px}}
