:root{--accent: #1ec896;--accent-hover: rgb(50, 220, 170);--accent-deep: rgb(20, 170, 125);--accent-bg-soft: rgba(30, 200, 150, 0.06);--accent-bg-medium: rgba(30, 200, 150, 0.10);--accent-border: rgba(30, 200, 150, 0.20);--bg: #ffffff;--bg-medium: rgb(244, 246, 247);--bg-card: #ffffff;--bg-overlay: rgba(255, 255, 255, 0.96);--ink: 0 5 10;--ink-90: rgb(0 5 10 / 0.90);--ink-85: rgb(0 5 10 / 0.85);--ink-75: rgb(0 5 10 / 0.75);--ink-65: rgb(0 5 10 / 0.65);--ink-50: rgb(0 5 10 / 0.50);--ink-40: rgb(0 5 10 / 0.40);--ink-30: rgb(0 5 10 / 0.30);--ink-20: rgb(0 5 10 / 0.20);--text: rgb(0 5 10 / 0.90);--text-strong: rgb(0 5 10 / 0.85);--text-body: rgb(0 5 10 / 0.70);--text-muted: rgb(0 5 10 / 0.55);--text-caption: rgb(0 5 10 / 0.40);--text-faint: rgb(0 5 10 / 0.30);--border-strong: rgba(0, 5, 10, 0.10);--border: rgba(0, 5, 10, 0.08);--border-soft: rgba(0, 5, 10, 0.06);--border-faint: rgba(0, 5, 10, 0.04);--hover-bg: rgba(0, 5, 10, 0.03);--fill: rgba(0, 5, 10, 0.05);--font-sans: 'DM Sans', system-ui, sans-serif;--font-mono: 'JetBrains Mono', ui-monospace, monospace;--weight-body: 400;--weight-medium: 500;--weight-heading: 600;--fs-display: 2.625rem;--fs-h2: 1.5rem;--fs-h3: 1.25rem;--fs-h4: 1.125rem;--fs-body: 1rem;--fs-small: 0.875rem;--fs-mono: 0.6875rem;--fs-mono-xs: 0.5625rem;--tracking-tight: -0.5px;--tracking-snug: -0.3px;--tracking-ui: -0.2px;--tracking-mono: 0.3px;--tracking-mono-wide: 0.5px;--gutter: 52px;--gutter-tablet: 2rem;--gutter-mobile: 1.5rem;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-2xl: 12px;--radius-3xl: 14px;--shadow-avatar: 0 2px 12px rgba(0, 0, 0, 0.08);--shadow-card-hover: 0 2px 16px rgba(0, 0, 0, 0.06);--shadow-app-hover: 0 1px 8px rgba(0, 0, 0, 0.04);--shadow-modal: 0 12px 48px rgba(0, 0, 0, 0.20);--shadow-popover: 0 8px 32px rgba(0, 5, 10, 0.08), 0 2px 8px rgba(0, 5, 10, 0.04);--shadow-polaroid: 0 0 8px rgba(0, 0, 0, 0.30);--ease-spring: cubic-bezier(0.22, 1, 0.36, 1);--t-fast: 0.15s ease;--t-base: 0.2s ease;--t-modal: 0.25s ease;--t-card: 0.3s ease;--t-image: 0.6s var(--ease-spring);--max-post: 680px;--max-content: 800px;--max-page: 960px;--max-wide: 1200px;--nav-height: 52px}@media (max-width: 960px){:root{--gutter: var(--gutter-tablet)}}@media (max-width: 690px){:root{--gutter: var(--gutter-mobile)}}html.dark{--bg: #141413;--bg-medium: #1a1a18;--bg-card: #1e1e1c;--bg-overlay: rgba(20, 20, 19, 0.96);--ink: 255 255 255;--ink-90: rgb(255 255 255 / 0.90);--ink-85: rgb(255 255 255 / 0.85);--ink-75: rgb(255 255 255 / 0.75);--ink-65: rgb(255 255 255 / 0.60);--ink-50: rgb(255 255 255 / 0.45);--ink-40: rgb(255 255 255 / 0.40);--ink-30: rgb(255 255 255 / 0.30);--ink-20: rgb(255 255 255 / 0.20);--text: rgb(255 255 255 / 0.85);--text-strong: rgb(255 255 255 / 0.85);--text-body: rgb(255 255 255 / 0.60);--text-muted: rgb(255 255 255 / 0.45);--text-caption: rgb(255 255 255 / 0.35);--text-faint: rgb(255 255 255 / 0.25);--border-strong: rgba(255, 255, 255, 0.10);--border: rgba(255, 255, 255, 0.08);--border-soft: rgba(255, 255, 255, 0.06);--border-faint: rgba(255, 255, 255, 0.04);--hover-bg: rgba(255, 255, 255, 0.04);--fill: rgba(255, 255, 255, 0.05);--shadow-card-hover: 0 2px 16px rgba(0, 0, 0, 0.20);--shadow-app-hover: 0 1px 8px rgba(0, 0, 0, 0.20);--shadow-modal: 0 12px 48px rgba(0, 0, 0, 0.40);--shadow-popover: 0 8px 32px rgba(0, 0, 0, 0.30), 0 2px 8px rgba(0, 0, 0, 0.20)}*,*::before,*::after{box-sizing:border-box}html{color-scheme:light;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font:var(--weight-body) 14px/1.5 var(--font-sans);font-synthesis:none;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}*:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none !important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (prefers-reduced-motion: reduce){*,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}}.app-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:16px;padding:16px var(--gutter) 14px;background:var(--bg-overlay);border-bottom:1px solid var(--border)}.app-logo{display:flex;flex-shrink:0}.app-logo img{display:block;height:28px;width:auto;border-radius:5px;opacity:.85;transition:opacity var(--t-base)}.app-logo:hover img{opacity:1}html.dark .app-logo img{filter:drop-shadow(0 0 1px rgba(255,255,255,0.35))}.app-title{font-size:19px;font-weight:var(--weight-heading);letter-spacing:-0.5px;line-height:1.2;color:var(--text);white-space:nowrap}.app-title span{color:var(--accent);font-weight:var(--weight-body)}.app-by{font:var(--weight-body) 10px var(--font-sans);letter-spacing:1px;color:var(--text-faint);white-space:nowrap;transition:color var(--t-base)}.app-by:hover{color:var(--accent-deep)}.app-header-actions{margin-left:auto;display:flex;align-items:center;gap:4px}@media (max-width: 690px){.app-header{gap:10px;padding-top:12px;padding-bottom:10px}.app-title{font-size:17px}.app-by{display:none}}.icon{width:18px;height:18px;flex-shrink:0;stroke:currentColor;stroke-width:1.5;fill:none}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:var(--radius-lg);background:none;color:var(--text-muted);cursor:pointer;transition:color var(--t-base),background var(--t-base),border-color var(--t-base);-webkit-tap-highlight-color:transparent}.icon-button:hover{color:var(--text);background:var(--hover-bg)}.icon-button[aria-pressed="true"]{color:var(--accent-deep);background:var(--accent-bg-soft)}.icon-button:disabled{opacity:.4;cursor:default}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text);font-size:13px;font-weight:var(--weight-medium);letter-spacing:-0.2px;cursor:pointer;transition:border-color var(--t-base),background var(--t-base),color var(--t-base)}.button:hover{border-color:var(--border-strong);background:var(--hover-bg)}.button:disabled{opacity:.45;cursor:default}.button-primary{border-color:var(--accent);background:var(--accent);color:#fff}.button-primary:hover{border-color:var(--accent-deep);background:var(--accent-deep)}.button-quiet{border-color:transparent;background:none;color:var(--text-muted)}.button-quiet:hover{color:var(--text)}.segmented{display:inline-flex;padding:2px;gap:2px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card)}.segmented button{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 12px;border:0;border-radius:var(--radius-md);background:none;color:var(--text-muted);font-size:12.5px;font-weight:var(--weight-medium);cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.segmented button:hover{color:var(--text)}.segmented button[aria-pressed="true"]{background:var(--text-strong);color:var(--bg)}.switch{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-lg);color:var(--text-muted);cursor:pointer;transition:color var(--t-base),background var(--t-base)}.switch:hover{color:var(--text);background:var(--hover-bg)}.switch span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.switch input{position:absolute;opacity:0;pointer-events:none}.switch i{width:15px;height:15px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Ccircle cx='7.5' cy='7.5' r='6.75' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3Cpath d='M7.5 .75a6.75 6.75 0 0 1 0 13.5z'/%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 15 15'%3E%3Ccircle cx='7.5' cy='7.5' r='6.75' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3Cpath d='M7.5 .75a6.75 6.75 0 0 1 0 13.5z'/%3E%3C/svg%3E") center/contain no-repeat}.switch input:focus-visible+i{outline:2px solid var(--accent);outline-offset:4px}.field{display:flex;flex-direction:column;gap:5px}.label,.field>label{font:var(--weight-medium) 10px var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--text-caption)}.input,.select{min-height:34px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text);font-size:13px;transition:border-color var(--t-base)}.input:hover,.select:hover{border-color:var(--border-strong)}.input:focus,.select:focus{outline:none;border-color:var(--accent)}.select{padding-right:28px;appearance:none;background-image:linear-gradient(45deg, transparent 50%, currentColor 50%),linear-gradient(135deg, currentColor 50%, transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px;background-repeat:no-repeat}.search{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text-caption)}.search:focus-within{border-color:var(--accent)}.search input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--text);font-size:13px}.eyebrow{font:var(--weight-medium) 10px var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--text-caption)}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:var(--radius-xs);background:var(--fill);color:var(--text-muted);font:var(--weight-medium) 10.5px var(--font-mono);letter-spacing:.3px;white-space:nowrap}.tag-accent{background:var(--accent-bg-soft);color:var(--accent-deep)}.badge{display:inline-flex;align-items:center;gap:5px;font:var(--weight-medium) 10px var(--font-mono);letter-spacing:.3px;text-transform:uppercase;color:var(--text-caption)}.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-high{color:var(--accent-deep)}.badge-medium{color:var(--text-muted)}.badge-low{color:var(--text-faint)}.app-modal{width:min(560px, calc(100vw - 2 * var(--gutter)));max-height:min(80vh, 760px);padding:0;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-card);color:var(--text);box-shadow:var(--shadow-modal);overflow:auto}.app-modal::backdrop{background:rgba(0,5,10,0.35);backdrop-filter:blur(2px)}.app-modal[open]{animation:app-modal-in .25s var(--ease-spring)}@keyframes app-modal-in{from{opacity:0;transform:translateY(8px) scale(.98)}}.app-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px 0}.app-modal-header h2{font-size:20px;font-weight:var(--weight-heading);letter-spacing:-0.4px}.app-modal-body{padding:14px 24px 22px;font-size:14px;line-height:1.65;color:var(--text-body)}.app-modal-body h3{margin:20px 0 6px;font-size:14px;font-weight:var(--weight-heading);color:var(--text)}.app-modal-body p+p{margin-top:10px}.app-modal-body a{color:var(--accent-deep)}.app-modal-body a:hover{text-decoration:underline}.app-modal-meta{display:flex;justify-content:space-between;gap:12px;padding:14px 24px 18px;border-top:1px solid var(--border-soft);font:10.5px var(--font-mono);letter-spacing:.3px;color:var(--text-faint)}.app-modal-meta a:hover{color:var(--accent-deep)}.popover{padding:6px;border:1px solid var(--border);border-radius:var(--radius-2xl);background:var(--bg-card);box-shadow:var(--shadow-popover)}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom, 0px));z-index:100;transform:translate(-50%, 12px);padding:10px 16px;border-radius:var(--radius-lg);background:var(--text-strong);color:var(--bg);font-size:13px;font-weight:var(--weight-medium);opacity:0;pointer-events:none;transition:opacity var(--t-base),transform .2s var(--ease-spring)}.toast.is-visible{opacity:1;transform:translate(-50%, 0)}.app-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app-main{flex:1;display:flex;min-height:0}.app-panel{display:flex;flex-direction:column;min-width:0;padding:20px var(--gutter);overflow:auto}.app-panel+.app-panel{border-left:1px solid var(--border)}.app-section+.app-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-soft)}@media (max-width: 690px){.app-main{flex-direction:column}.app-panel+.app-panel{border-left:0;border-top:1px solid var(--border)}.icon-button,.button,.segmented button,.input,.select{min-height:44px}.icon-button{width:44px}}.hub{max-width:1200px;margin:0 auto;padding:0 var(--gutter)}.hub-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:64px 0 44px}.hub-heading h1{margin-top:10px;font-size:42px;font-weight:var(--weight-heading);letter-spacing:-1.5px;line-height:1.1}.hub-heading p{margin-top:12px;max-width:520px;font-size:16px;line-height:1.65;color:var(--text-muted)}.hub-gallery{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:36px 0 70px;border-top:1px solid var(--border)}.hub-card{display:block;min-width:0}.hub-card h2{margin:10px 0;font-size:27px;font-weight:var(--weight-medium);letter-spacing:-0.6px;transition:color var(--t-base)}.hub-card p{max-width:440px;margin-bottom:12px;font-size:14px;line-height:1.7;color:var(--text-muted)}.hub-card:hover h2{color:var(--accent-deep)}.hub-card:hover .hub-preview img{transform:scale(1.025)}.hub-preview{position:relative;aspect-ratio:10/7;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-medium)}.hub-preview img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease-spring)}.hub-preview img[data-preview-theme="dark"]{display:none}html.dark .hub-preview img[data-preview-theme="light"]{display:none}html.dark .hub-preview img[data-preview-theme="dark"]{display:block}.hub-card-meta{display:flex;justify-content:space-between;gap:10px;margin-top:24px}.hub-card-meta>span:last-child{font-size:12px;color:var(--accent-deep)}.hub-card-note{font:9px/1.6 var(--font-mono);color:var(--text-caption)}.hub-footer{display:flex;justify-content:space-between;gap:16px;padding:24px 0 32px;border-top:1px solid var(--border);font:10.5px var(--font-mono);letter-spacing:.3px;color:var(--text-faint)}.hub-footer a:hover{color:var(--accent-deep)}@media (max-width: 960px){.hub-gallery{gap:24px}.hub-heading h1{font-size:36px}}@media (max-width: 690px){.hub-heading{flex-direction:column;align-items:flex-start;padding:38px 0 28px}.hub-heading h1{font-size:32px}.hub-gallery{grid-template-columns:1fr;gap:44px;padding-top:24px}.hub-footer{flex-direction:column;align-items:center;text-align:center}}
