:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--magic-color-primary:#000;--magic-color-on-primary:#fff;--magic-color-canvas:#0d0d0e;--magic-color-workspace:#111113;--magic-color-panel:#141416;--magic-color-surface:#1b1b1e;--magic-color-surface-strong:#26262a;--magic-color-inverse-canvas:#000;--magic-color-text:#f3f1ed;--magic-color-text-secondary:#c7c6ca;--magic-color-text-muted:#96969d;--magic-color-text-weak:#77777e;--magic-color-border:#303033;--magic-color-border-input:#414146;--magic-color-border-strong:#68686f;--magic-color-block-lime:#dceeb1;--magic-color-block-lilac:#c5b0f4;--magic-color-block-cream:#f4ecd6;--magic-color-block-pink:#efd4d4;--magic-color-block-mint:#c8e6cd;--magic-color-block-coral:#f3c9b6;--magic-color-block-navy:#1f1d3d;--magic-color-accent:#ff3d8b;--magic-color-light-canvas:#fff;--magic-color-light-workspace:#fafaf8;--magic-color-light-panel:#f7f7f5;--magic-color-light-surface:#fff;--magic-color-light-surface-strong:#ececea;--magic-color-light-inverse-canvas:#fff;--magic-color-light-text:#000;--magic-color-light-text-secondary:#555;--magic-color-light-text-muted:#666;--magic-color-light-text-weak:#8a8a8a;--magic-color-light-border:#e6e6e6;--magic-color-light-border-input:#d6d6d6;--magic-color-light-border-strong:#b0b0b5;--magic-color-success:#1ea64a;--magic-color-error:#c62828;--magic-color-error-on-dark:#ff8a8a;--magic-color-warning:#d9a94a;--magic-font-body:Inter, "SF Pro Display", system-ui, Helvetica, Arial, sans-serif;--magic-font-display:Inter, "SF Pro Display", system-ui, Helvetica, Arial, sans-serif;--magic-font-mono:"SF Mono", Menlo, Consolas, monospace;--magic-font-size-label:11px;--magic-font-size-small:14px;--magic-font-size-body:15px;--magic-font-size-card-title:18px;--magic-font-size-section-title:20px;--magic-font-size-page-title:64px;--magic-font-size-display:86px;--magic-line-height-body:1.45;--magic-line-height-heading:1.1;--magic-space-1:4px;--magic-space-2:8px;--magic-space-3:12px;--magic-space-4:16px;--magic-space-5:24px;--magic-space-6:24px;--magic-space-8:32px;--magic-space-12:48px;--magic-space-section:96px;--magic-radius-control:6px;--magic-radius-input:8px;--magic-radius-panel:12px;--magic-radius-card:16px;--magic-radius-card-large:24px;--magic-radius-pill:50px;--magic-shadow-card:0 4px 18px #00000047;--magic-focus-ring:0 0 0 2px #c8c8cc}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--magic-color-canvas:var(--magic-color-light-canvas);--magic-color-workspace:var(--magic-color-light-workspace);--magic-color-panel:var(--magic-color-light-panel);--magic-color-surface:var(--magic-color-light-surface);--magic-color-surface-strong:var(--magic-color-light-surface-strong);--magic-color-inverse-canvas:var(--magic-color-light-inverse-canvas);--magic-color-text:var(--magic-color-light-text);--magic-color-text-secondary:var(--magic-color-light-text-secondary);--magic-color-text-muted:var(--magic-color-light-text-muted);--magic-color-text-weak:var(--magic-color-light-text-weak);--magic-color-border:var(--magic-color-light-border);--magic-color-border-input:var(--magic-color-light-border-input);--magic-color-border-strong:var(--magic-color-light-border-strong)}body{background:var(--magic-color-canvas);color:var(--magic-color-text);font-family:var(--magic-font-body);font-size:var(--magic-font-size-body);line-height:var(--magic-line-height-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}button,input,textarea,select{font:inherit;color:inherit}button{min-height:32px}:focus-visible{box-shadow:var(--magic-focus-ring);outline:none}.btn{justify-content:center;align-items:center;gap:var(--magic-space-2);height:32px;padding:0 var(--magic-space-4);border-radius:var(--magic-radius-control);border:1px solid var(--magic-color-border-input);background:var(--magic-color-surface);font-size:var(--magic-font-size-small);white-space:nowrap;cursor:pointer;font-weight:500;transition:background-color .1s,border-color .1s,color .1s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--magic-color-border-strong);background:color-mix(in srgb, var(--magic-color-surface) 90%, var(--magic-color-text) 10%)}.btn:active:not(:disabled){background:color-mix(in srgb, var(--magic-color-surface) 82%, var(--magic-color-text) 18%)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--magic-color-primary);color:var(--magic-color-on-primary);border-color:var(--magic-color-primary);font-weight:560}.btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--magic-color-primary) 86%, white 14%);border-color:color-mix(in srgb, var(--magic-color-primary) 86%, white 14%)}.btn.primary:active:not(:disabled){background:color-mix(in srgb, var(--magic-color-primary) 76%, white 24%)}.btn.danger{color:var(--magic-color-error-on-dark);border-color:var(--magic-color-error-on-dark);background:0 0}.btn.danger:hover:not(:disabled){background:color-mix(in srgb, transparent, var(--magic-color-error-on-dark) 12%)}.btn.ghost{background:0 0}.btn.ghost:hover:not(:disabled){background:color-mix(in srgb, transparent, var(--magic-color-text) 7%)}.btn.small{height:26px;padding:0 var(--magic-space-3);font-size:13px}.field{gap:var(--magic-space-1);flex-direction:column;display:flex}.field>label{font-family:var(--magic-font-mono);font-size:var(--magic-font-size-label);letter-spacing:.06em;text-transform:uppercase;color:var(--magic-color-text-muted);font-weight:500}.field input,.field select,.field textarea{background:var(--magic-color-surface);border:1px solid var(--magic-color-border-input);border-radius:var(--magic-radius-control);padding:var(--magic-space-2) var(--magic-space-3);width:100%;min-height:32px;transition:border-color .1s}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--magic-color-border-strong)}.field textarea{resize:vertical;line-height:var(--magic-line-height-body)}.field .hint{font-size:var(--magic-font-size-label);color:var(--magic-color-text-weak)}.field .error{font-size:var(--magic-font-size-label);color:var(--magic-color-error-on-dark)}.private-tag{font-size:var(--magic-font-size-label);color:var(--magic-color-warning);text-transform:none;letter-spacing:0}.panel{background:var(--magic-color-panel);border:1px solid var(--magic-color-border);border-radius:var(--magic-radius-panel);padding:var(--magic-space-5);gap:var(--magic-space-4);flex-direction:column;min-width:0;display:flex}.panel h2{font-family:var(--magic-font-display);font-size:var(--magic-font-size-card-title);margin:0}.panel .muted{color:var(--magic-color-text-muted);font-size:var(--magic-font-size-small);margin:0}.section-title{font-family:var(--magic-font-mono);font-size:var(--magic-font-size-label);letter-spacing:.1em;text-transform:uppercase;color:var(--magic-color-text-muted);margin:0;font-weight:500}.notice{border-radius:var(--magic-radius-control);padding:var(--magic-space-3);font-size:var(--magic-font-size-small);border:1px solid var(--magic-color-border-input);background:var(--magic-color-surface)}.notice.error{border-color:var(--magic-color-error-on-dark);color:var(--magic-color-error-on-dark)}.notice.warning{border-color:var(--magic-color-warning);color:var(--magic-color-warning)}.notice.success{border-color:var(--magic-color-success);color:var(--magic-color-success)}.notice ul{margin:var(--magic-space-1) 0 0;padding-left:var(--magic-space-5)}.badge{font-family:var(--magic-font-mono);font-size:var(--magic-font-size-label);letter-spacing:.04em;padding:2px var(--magic-space-2);border-radius:var(--magic-radius-pill);border:1px solid var(--magic-color-border-input);color:var(--magic-color-text-muted);font-weight:500}.badge.dirty{border-color:var(--magic-color-warning);color:var(--magic-color-warning)}.badge.saved{border-color:var(--magic-color-success);color:var(--magic-color-success)}.card{text-align:left;background:var(--magic-color-surface);border:1px solid var(--magic-color-border);border-radius:var(--magic-radius-control);padding:var(--magic-space-3);cursor:pointer;gap:var(--magic-space-1);flex-direction:column;width:100%;min-height:auto;transition:background-color .1s,border-color .1s;display:flex}.card:hover{border-color:var(--magic-color-border-strong);background:color-mix(in srgb, var(--magic-color-surface) 92%, var(--magic-color-text) 8%)}.card.selected{border-color:var(--magic-color-primary);background:var(--magic-color-block-cream);color:var(--magic-color-light-text)}.card.selected span{color:var(--magic-color-light-text);opacity:.72}.card.selected small{color:var(--magic-color-light-text);opacity:.55}.card b{font-size:var(--magic-font-size-small)}.card span{font-size:var(--magic-font-size-label);color:var(--magic-color-text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card small{font-size:var(--magic-font-size-label);color:var(--magic-color-text-weak)}.row{align-items:center;gap:var(--magic-space-2);display:flex}.row .card{flex:1}.two-col{gap:var(--magic-space-3);grid-template-columns:1fr 1fr;display:grid}.empty{padding:var(--magic-space-5);text-align:center;color:var(--magic-color-text-weak);font-size:var(--magic-font-size-small)}.counter{font-family:var(--magic-font-mono);font-size:var(--magic-font-size-label);color:var(--magic-color-text-weak)}.magic-page-shell{flex-direction:column;min-height:100vh;display:flex}.magic-page-shell-body{align-items:flex-start;gap:var(--magic-space-4);padding:var(--magic-space-4) var(--magic-space-3) var(--magic-space-8);display:flex}.magic-page-shell-main{gap:var(--magic-space-4);flex-direction:column;flex:1;min-width:0;display:flex}.magic-header{justify-content:space-between;align-items:center;gap:var(--magic-space-4);padding:10px var(--magic-space-6);background:var(--magic-color-canvas);border-bottom:1px solid var(--magic-color-border);z-index:10;display:flex;position:sticky;top:0}.magic-brand{align-items:baseline;gap:var(--magic-space-2);display:flex}.magic-brand b{font-family:var(--magic-font-display);font-size:var(--magic-font-size-card-title);letter-spacing:-.01em;font-weight:600}.magic-brand span{font-family:var(--magic-font-mono);font-size:var(--magic-font-size-label);letter-spacing:.08em;text-transform:uppercase;color:var(--magic-color-text-muted);font-weight:500}.magic-header-actions{align-items:center;gap:var(--magic-space-3);display:flex}.magic-sidepanel{flex-direction:column;flex-shrink:0;transition:width .15s;display:flex}.magic-sidepanel--left.is-open{width:340px}.magic-sidepanel--right.is-open{width:380px}.magic-sidepanel.is-collapsed{width:40px}.magic-sidepanel-toggle{width:28px;min-height:28px;margin-bottom:var(--magic-space-2);border-radius:var(--magic-radius-control);border:1px solid var(--magic-color-border-input);background:var(--magic-color-surface);color:var(--magic-color-text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .1s,border-color .1s,color .1s;display:flex}.magic-sidepanel-toggle:hover{border-color:var(--magic-color-border-strong);color:var(--magic-color-text);background:color-mix(in srgb, var(--magic-color-surface) 90%, var(--magic-color-text) 10%)}.magic-sidepanel--right .magic-sidepanel-toggle{align-self:flex-end}.magic-sidepanel-content{gap:var(--magic-space-4);flex-direction:column;min-width:0;max-height:calc(100vh - 100px);display:flex;position:sticky;top:68px;overflow-y:auto}.magic-sidepanel--left .magic-sidepanel-content{direction:rtl}.magic-sidepanel--left .magic-sidepanel-content>*{direction:ltr}.magic-badge{font-family:var(--magic-font-mono);font-size:var(--magic-font-size-label);letter-spacing:.04em;padding:3px var(--magic-space-2);border-radius:var(--magic-radius-pill);border:1px solid var(--magic-color-border-input);color:var(--magic-color-text-muted);align-items:center;gap:6px;font-weight:500;display:inline-flex}.magic-badge:before{content:"";opacity:.75;background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.magic-badge--warning{border-color:var(--magic-color-warning);color:var(--magic-color-warning)}.magic-badge--success{border-color:var(--magic-color-success);color:var(--magic-color-success)}.magic-badge--error{border-color:var(--magic-color-error-on-dark);color:var(--magic-color-error-on-dark)}.magic-toast{left:50%;bottom:var(--magic-space-8);background:var(--magic-color-surface-strong);border:1px solid var(--magic-color-border-strong);border-radius:var(--magic-radius-pill);padding:var(--magic-space-2) var(--magic-space-5);font-size:var(--magic-font-size-small);box-shadow:var(--magic-shadow-card);z-index:60;position:fixed;transform:translate(-50%)}.magic-theme-toggle{border-radius:var(--magic-radius-control);border:1px solid var(--magic-color-border-input);background:var(--magic-color-surface);width:28px;min-height:28px;color:var(--magic-color-text-muted);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:background-color .1s,border-color .1s,color .1s;display:flex}.magic-theme-toggle:hover{border-color:var(--magic-color-border-strong);color:var(--magic-color-text);background:color-mix(in srgb, var(--magic-color-surface) 90%, var(--magic-color-text) 10%)}.magic-language-switcher{min-height:32px;padding:0 var(--magic-space-3);border-radius:var(--magic-radius-control);border:1px solid var(--magic-color-border-input);background:var(--magic-color-surface);color:var(--magic-color-text);font-size:var(--magic-font-size-small);cursor:pointer}.magic-language-switcher:hover{border-color:var(--magic-color-border-strong)}.magic-card{text-align:left;background:var(--magic-color-surface);border:1px solid var(--magic-color-border);border-radius:var(--magic-radius-panel);padding:var(--magic-space-4);gap:var(--magic-space-2);flex-direction:column;width:100%;min-height:auto;display:flex}button.magic-card{cursor:pointer}.magic-card:hover{border-color:var(--magic-color-border-strong)}.magic-card.is-selected{border-color:var(--magic-color-primary)}.magic-card-media{border-radius:var(--magic-radius-input);overflow:hidden}.magic-card-media img{width:100%;height:auto;display:block}.magic-card-title{font-family:var(--magic-font-display);font-size:var(--magic-font-size-small);font-weight:600}.magic-card-body{font-size:var(--magic-font-size-label);color:var(--magic-color-text-secondary)}.magic-card-footer{align-items:center;gap:var(--magic-space-2);font-size:var(--magic-font-size-label);color:var(--magic-color-text-weak);display:flex}.chat{background:var(--magic-color-panel);border:1px solid var(--magic-color-border);border-radius:var(--magic-radius-panel);flex-direction:column;height:100%;display:flex}.chat-head{padding:var(--magic-space-3) var(--magic-space-4);border-bottom:1px solid var(--magic-color-border)}.chat-head b{font-size:var(--magic-font-size-small);display:block}.chat-head small{color:var(--magic-color-text-weak);font-size:var(--magic-font-size-label)}.messages{padding:var(--magic-space-4);gap:var(--magic-space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.message{border-radius:var(--magic-radius-control);padding:var(--magic-space-3);font-size:var(--magic-font-size-small);white-space:pre-wrap;overflow-wrap:anywhere}.message.user{background:var(--magic-color-surface-strong);border:1px solid var(--magic-color-border-input)}.message.assistant{background:var(--magic-color-surface);border:1px solid var(--magic-color-border)}.message.system{border:1px dashed var(--magic-color-border);color:var(--magic-color-text-muted);font-size:var(--magic-font-size-label);background:0 0}.message .who{font-family:var(--magic-font-mono);font-size:var(--magic-font-size-label);letter-spacing:.06em;text-transform:uppercase;color:var(--magic-color-text-weak);margin-bottom:var(--magic-space-1);font-weight:500;display:block}.composer{border-bottom:1px solid var(--magic-color-border);padding:var(--magic-space-3);gap:var(--magic-space-2);flex-direction:column;display:flex}.composer textarea{background:var(--magic-color-surface);border:1px solid var(--magic-color-border-input);border-radius:var(--magic-radius-control);padding:var(--magic-space-3);resize:vertical;min-height:72px;transition:border-color .1s}.composer textarea:hover{border-color:var(--magic-color-border-strong)}.composer-actions{align-items:center;gap:var(--magic-space-2);flex-wrap:wrap;display:flex}.composer-actions .spacer{flex:1}.overlay{padding:var(--magic-space-6);z-index:50;background:#0000009e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--magic-color-panel);border:1px solid var(--magic-color-border-strong);border-radius:var(--magic-radius-card);box-shadow:var(--magic-shadow-card);padding:var(--magic-space-6);gap:var(--magic-space-4);flex-direction:column;width:100%;max-width:520px;display:flex}.dialog h3{font-family:var(--magic-font-display);font-size:var(--magic-font-size-card-title);margin:0}.dialog p{font-size:var(--magic-font-size-small);color:var(--magic-color-text-secondary);margin:0}.dialog code{font-size:var(--magic-font-size-label);color:var(--magic-color-text-muted)}.dialog-actions{justify-content:flex-end;gap:var(--magic-space-2);display:flex}@media (width<=1080px){.magic-page-shell-body{flex-direction:column}.magic-sidepanel--left.is-open,.magic-sidepanel--right.is-open{width:100%}.magic-sidepanel-content{max-height:none;position:static}.chat{height:70vh}}*{box-sizing:border-box}body{font-family:var(--magic-font-body);font-size:var(--magic-font-size-body);line-height:var(--magic-line-height-body);-webkit-font-smoothing:antialiased;margin:0}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}.store{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--magic-color-light-canvas);min-height:100vh;color:var(--magic-color-light-text)}.store :focus-visible{box-shadow:0 0 0 2px var(--magic-color-light-text);border-radius:var(--magic-radius-control);outline:none}.header{align-items:center;gap:var(--magic-space-5);padding:var(--magic-space-4) var(--magic-space-8);border-bottom:1px solid var(--magic-color-light-border);background:var(--magic-color-light-canvas);z-index:5;flex-wrap:wrap;display:flex;position:sticky;top:0}.brand{font-family:var(--magic-font-display);font-size:var(--magic-font-size-card-title);line-height:var(--magic-line-height-heading);letter-spacing:-.02em;font-weight:600;text-decoration:none}.header nav{gap:var(--magic-space-2);flex-wrap:wrap;align-items:center;margin-inline-start:auto;display:flex}.pill{border:1px solid var(--magic-color-light-border);border-radius:var(--magic-radius-pill);padding:10px var(--magic-space-4);font-size:var(--magic-font-size-small);align-items:center;gap:var(--magic-space-2);background:0 0;min-height:44px;text-decoration:none;display:inline-flex}.pill:hover{background:var(--magic-color-light-panel)}.pill[aria-current=page]{background:var(--magic-color-light-text);color:var(--magic-color-light-canvas);border-color:var(--magic-color-light-text)}.pill.primary{background:var(--magic-color-primary);color:var(--magic-color-on-primary);border-color:var(--magic-color-primary)}.pill.primary:hover{background:#222}.pill:disabled{opacity:.45;cursor:not-allowed}.pill.small{min-height:36px;padding:6px var(--magic-space-3);font-size:var(--magic-font-size-label)}select,input[type=text],input[type=search],input[type=email],input[type=password],input[type=number],textarea{font:inherit;background:var(--magic-color-light-surface);color:var(--magic-color-light-text);border:1px solid var(--magic-color-light-border);border-radius:var(--magic-radius-input);padding:10px var(--magic-space-3);width:100%;min-height:44px}.page{max-width:1200px;padding:var(--magic-space-8);margin:0 auto}.page-title{font-family:var(--magic-font-display);font-size:var(--magic-font-size-page-title);line-height:var(--magic-line-height-heading);letter-spacing:-.03em;margin:0 0 var(--magic-space-4);font-weight:340}.section-title{font-size:var(--magic-font-size-section-title);line-height:var(--magic-line-height-heading);margin:var(--magic-space-8) 0 var(--magic-space-4)}.lead{font-size:var(--magic-font-size-body);color:#555;margin:0 0 var(--magic-space-8);max-width:60ch}.label{font-size:var(--magic-font-size-label);text-transform:uppercase;letter-spacing:.08em;color:#666;margin-bottom:var(--magic-space-2);display:block}.announcement{align-items:center;gap:var(--magic-space-3);padding:var(--magic-space-3) var(--magic-space-8);background:var(--magic-color-block-lime);color:var(--magic-color-light-text);font-size:var(--magic-font-size-small);display:flex}.announcement .kind{font-family:var(--magic-font-mono);font-size:var(--magic-font-size-label);text-transform:uppercase;letter-spacing:.06em}.announcement button{background:0 0;border:0;margin-inline-start:auto;text-decoration:underline}.language-grid{gap:var(--magic-space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.language-card{border:1px solid var(--magic-color-light-border);border-radius:var(--magic-radius-card);padding:var(--magic-space-6);text-align:start;background:var(--magic-color-block-cream);flex-direction:column;justify-content:space-between;min-height:140px;display:flex}.language-card:nth-child(3n+2){background:var(--magic-color-block-mint)}.language-card:nth-child(3n){background:var(--magic-color-block-lilac)}.language-card strong{font-size:var(--magic-font-size-card-title);font-weight:500}.catalog{gap:var(--magic-space-8);grid-template-columns:minmax(220px,260px) 1fr;align-items:start;display:grid}.filters{border:1px solid var(--magic-color-light-border);border-radius:var(--magic-radius-panel);padding:var(--magic-space-5);position:sticky;top:92px}.filter-group{margin-bottom:var(--magic-space-5)}.checks{gap:var(--magic-space-2);flex-direction:column;display:flex}.check{align-items:center;gap:var(--magic-space-2);font-size:var(--magic-font-size-small);min-height:32px;display:flex}.check input{width:18px;height:18px;min-height:0;accent-color:var(--magic-color-light-text)}.toolbar{gap:var(--magic-space-3);margin-bottom:var(--magic-space-5);flex-wrap:wrap;align-items:center;display:flex}.toolbar input[type=search]{flex:260px}.toolbar select{width:auto;min-width:160px}.result-count{font-size:var(--magic-font-size-label);color:#666;margin-bottom:var(--magic-space-4)}.cards{gap:var(--magic-space-5);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));display:grid}.card{border:1px solid var(--magic-color-light-border);border-radius:var(--magic-radius-card);background:var(--magic-color-light-surface);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.card:hover{border-color:var(--magic-color-light-text)}.card img{aspect-ratio:3/4;object-fit:cover;background:var(--magic-color-light-panel);width:100%;display:block}.card-body{padding:var(--magic-space-4);gap:var(--magic-space-2);flex-direction:column;flex:1;display:flex}.card-title{font-size:var(--magic-font-size-small);font-weight:600;line-height:1.25}.meta{gap:var(--magic-space-2);font-size:var(--magic-font-size-label);color:#666;flex-wrap:wrap;display:flex}.badge{border-radius:var(--magic-radius-pill);font-size:var(--magic-font-size-label);border:1px solid var(--magic-color-light-border);background:var(--magic-color-light-panel);white-space:nowrap;align-items:center;padding:3px 10px;display:inline-flex}.badge.owned{background:var(--magic-color-block-mint);border-color:#0000}.badge.plan{background:var(--magic-color-block-lilac);border-color:#0000}.badge.price{background:var(--magic-color-light-text);color:var(--magic-color-light-canvas);border-color:#0000}.publication{gap:var(--magic-space-12);grid-template-columns:minmax(240px,340px) 1fr;align-items:start;display:grid}.publication img.cover{aspect-ratio:3/4;object-fit:cover;border-radius:var(--magic-radius-card);border:1px solid var(--magic-color-light-border);width:100%}.publication h1{font-family:var(--magic-font-display);font-size:var(--magic-font-size-page-title);line-height:var(--magic-line-height-heading);letter-spacing:-.03em;margin:0 0 var(--magic-space-4);font-weight:340}.spec{gap:var(--magic-space-4);border-block:1px solid var(--magic-color-light-border);padding:var(--magic-space-4) 0;margin:var(--magic-space-5) 0;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.spec div span{display:block}.spec .value{font-size:var(--magic-font-size-small);font-weight:600}.contents{gap:var(--magic-space-2);flex-wrap:wrap;display:flex}.access-box{border:1px solid var(--magic-color-light-border);border-radius:var(--magic-radius-card);padding:var(--magic-space-5);background:var(--magic-color-block-cream);margin-top:var(--magic-space-8);gap:var(--magic-space-3);flex-direction:column;align-items:flex-start;display:flex}.price-line{font-family:var(--magic-font-display);font-size:var(--magic-font-size-section-title)}.preview-list{gap:var(--magic-space-3);margin:var(--magic-space-4) 0;flex-direction:column;display:flex}.preview-item{gap:var(--magic-space-3);border:1px solid var(--magic-color-light-border);border-radius:var(--magic-radius-panel);padding:var(--magic-space-3) var(--magic-space-4);align-items:center;display:flex}.preview-item p{flex:1;margin:0}.note{font-size:var(--magic-font-size-label);color:#666}.form{gap:var(--magic-space-4);flex-direction:column;max-width:420px;display:flex}.rows{gap:var(--magic-space-3);flex-direction:column;display:flex}.row{gap:var(--magic-space-4);border:1px solid var(--magic-color-light-border);border-radius:var(--magic-radius-panel);padding:var(--magic-space-3);align-items:center;text-decoration:none;display:flex}.row img{aspect-ratio:3/4;object-fit:cover;border-radius:var(--magic-radius-control);background:var(--magic-color-light-panel);width:54px}.row .grow{flex:1;min-width:0}.error{color:var(--magic-color-error);font-size:var(--magic-font-size-small)}.empty{color:#666;padding:var(--magic-space-8) 0}.admin{background:var(--magic-color-canvas);min-height:100vh;color:var(--magic-color-text);padding:var(--magic-space-8)}.admin input,.admin select,.admin textarea{background:var(--magic-color-surface);color:var(--magic-color-text);border-color:var(--magic-color-border-input)}.admin .badge{background:var(--magic-color-surface);color:var(--magic-color-text-secondary);border-color:var(--magic-color-border)}.admin .pill{border-color:var(--magic-color-border-strong)}.admin .pill:hover{background:var(--magic-color-surface)}.admin .pill.primary{background:var(--magic-color-text);color:var(--magic-color-primary);border-color:var(--magic-color-text)}.admin-grid{gap:var(--magic-space-8);grid-template-columns:minmax(260px,340px) 1fr;align-items:start;display:grid}.panel{background:var(--magic-color-panel);border:1px solid var(--magic-color-border);border-radius:var(--magic-radius-panel);padding:var(--magic-space-5);margin-bottom:var(--magic-space-5)}.panel h2{font-size:var(--magic-font-size-card-title);margin:0 0 var(--magic-space-4)}.admin-row{gap:var(--magic-space-3);padding:var(--magic-space-3) 0;border-bottom:1px solid var(--magic-color-border);align-items:center;display:flex}.admin-row:last-child{border-bottom:0}.field{gap:var(--magic-space-2);margin-bottom:var(--magic-space-4);flex-direction:column;display:flex}.field-row{gap:var(--magic-space-3);flex-wrap:wrap;display:flex}.field-row>*{flex:140px}.check-list{gap:var(--magic-space-3);flex-wrap:wrap;display:flex}.pack-candidates{max-height:280px;margin:var(--magic-space-3) 0;flex-direction:column;display:flex;overflow-y:auto}.pack-candidates .admin-row{gap:var(--magic-space-2);align-items:flex-start}.pack-candidates .admin-row.unreadable{color:var(--magic-color-error-on-dark)}.ok{color:var(--magic-color-success)}.bad{color:var(--magic-color-error-on-dark)}@media (width<=900px){.catalog,.publication,.admin-grid{grid-template-columns:1fr}.filters{position:static}.page{padding:var(--magic-space-5)}.header{padding:var(--magic-space-3) var(--magic-space-5)}.page-title,.publication h1{font-size:var(--magic-font-size-section-title)}}
