@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter","Inter Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:var(--font-inter),system-ui,sans-serif;--font-serif:Georgia,"Times New Roman",serif;--font-mono:"Fira Code","Cascadia Code",monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-inter),system-ui,sans-serif;--default-mono-font-family:"Fira Code","Cascadia Code",monospace}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.border{border-style:var(--tw-border-style);border-width:1px}.font-sans{font-family:var(--font-inter),system-ui,sans-serif}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#f8f7f4;--bg-elevated:#fff;--fg:#1a1a1a;--fg-muted:#5c5c5e;--fg-subtle:#8e8e93;--border:#e8e6e1;--border-focus:#5c5c5e;--accent:#c2410c;--accent-hover:#ea580c;--accent-soft:#c2410c14;--destructive:#b91c1c;--destructive-soft:#b91c1c1a;--editor-max-w:720px;--editor-px:clamp(1.25rem,5vw,3rem);--toast-bg:#fff;--toast-fg:#111827;--toast-border:#e5e7eb;--code-bg:#1e1e2e;--code-fg:#cdd6f4}@media (prefers-color-scheme:dark){:root{--bg:#1c1c1c;--bg-elevated:#262626;--fg:#e5e4e0;--fg-muted:#a1a1aa;--fg-subtle:#71717a;--border:#3f3f46;--border-focus:#a1a1aa;--accent:#f97316;--accent-hover:#fb923c;--accent-soft:#f9731626;--destructive:#dc2626;--destructive-soft:#dc26261f;--toast-bg:#262626;--toast-fg:#e5e4e0;--toast-border:#3f3f46}}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);flex-direction:column;min-height:100dvh;margin:0;line-height:1.6;display:flex}.site-main{flex:1}.site-footer{border-top:1px solid var(--border);color:var(--fg-muted);justify-content:center;align-items:center;gap:.5rem;padding:1rem clamp(1.25rem,4vw,2.5rem);font-size:.875rem;display:flex}.site-footer a{color:var(--fg-muted);text-decoration:none;transition:color .15s}.site-footer a:hover{color:var(--fg)}.site-footer-sep{opacity:.6}.editor-scaffold{background:var(--bg);flex-direction:column;min-height:100dvh;display:flex}.editor-loading-full{flex:1}.editor-header{z-index:50;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:56px;padding:16px clamp(1.25rem,4vw,2.5rem);transition:border-color .2s;display:flex;position:sticky;top:0}.editor-logo{color:var(--fg);letter-spacing:-.02em;opacity:.95;align-items:center;gap:8px;font-size:15px;font-weight:600;text-decoration:none;transition:opacity .2s;display:flex}.editor-logo:hover{opacity:1}.editor-logo-img{object-fit:contain;object-position:left center;width:auto;max-width:208px;height:42px;display:block}.editor-header-actions{align-items:center;gap:16px;display:flex}.editor-dashboard-link{color:var(--fg-muted);font-size:14px;font-weight:500;text-decoration:none;transition:color .15s}.editor-dashboard-link:hover{color:var(--fg)}.save-status{font-size:13px;transition:opacity .3s}.save-status--idle{opacity:0}.save-status--saving{opacity:1;color:var(--fg-muted)}.save-status--saved{opacity:1;color:var(--fg-subtle)}.save-status--error{opacity:1;color:#ef4444}.btn-publish{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:9999px;padding:8px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 1px 3px #c2410c40}.btn-publish:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #c2410c59}.btn-publish:active{transform:translateY(0)}.editor-canvas{padding:3rem var(--editor-px)6rem;flex:1;justify-content:center;display:flex}.editor-content-area{width:100%;max-width:var(--editor-max-w)}.editor-tagline{color:var(--fg-muted);letter-spacing:.01em;margin:-.5rem 0 1.75rem;font-size:.875rem;font-weight:500}@media (prefers-color-scheme:dark){.editor-scaffold,.editor-header{background:#222225}.btn-publish{color:#1a1a1a;box-shadow:0 1px 3px #f9731666}.btn-publish:hover{box-shadow:0 4px 12px #f9731680}}.title-input{resize:none;width:100%;color:var(--fg);font-family:var(--font-sans);letter-spacing:-.03em;caret-color:var(--fg);background:0 0;border:none;outline:none;margin-bottom:1.5rem;padding:0;font-size:clamp(2rem,5vw,2.75rem);font-weight:700;line-height:1.2;display:block;overflow:hidden}.title-input::placeholder{color:var(--fg-subtle)}.tiptap-wrapper{position:relative}.tiptap-editor{min-height:60vh;color:var(--fg);caret-color:var(--fg);outline:none;font-size:1.0625rem;line-height:1.85}.tiptap-editor p.is-editor-empty:first-child:before,.tiptap-editor .is-empty:before{content:attr(data-placeholder);color:var(--fg-subtle);pointer-events:none;float:left;height:0}.tiptap-editor h1{letter-spacing:-.025em;color:var(--fg);margin:2.5rem 0 .75rem;font-size:2em;font-weight:700;line-height:1.2}.tiptap-editor h2{letter-spacing:-.02em;color:var(--fg);margin:2rem 0 .5rem;font-size:1.5em;font-weight:700;line-height:1.3}.tiptap-editor h3{color:var(--fg);margin:1.75rem 0 .5rem;font-size:1.25em;font-weight:600;line-height:1.4}.tiptap-editor p{margin:0 0 .45em}.tiptap-editor a.editor-link{color:#3b82f6;text-underline-offset:2px;text-decoration:underline}.tiptap-editor strong{font-weight:700}.tiptap-editor em{font-style:italic}.tiptap-editor s{text-decoration:line-through}.tiptap-editor code{font-family:var(--font-mono);background:var(--border);color:#e11d48;border-radius:4px;padding:.15em .4em;font-size:.875em}@media (prefers-color-scheme:dark){.tiptap-editor code{color:#fb7185}}.tiptap-editor pre{background:var(--code-bg);color:var(--code-fg);font-family:var(--font-mono);border-radius:10px;margin:1.5rem 0;padding:1.25rem 1.5rem;font-size:.875rem;line-height:1.65;overflow-x:auto}.tiptap-editor pre code{font-size:inherit;color:inherit;background:0 0;padding:0}.tiptap-editor blockquote{border-left:3px solid var(--border-focus);color:var(--fg-muted);margin:1.5rem 0;padding:.25rem 0 .25rem 1.5rem;font-style:italic}.tiptap-editor ul,.tiptap-editor ol{margin:.75rem 0 1.25rem 1.5rem;padding:0}.tiptap-editor li{margin:.3rem 0}.tiptap-editor hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}.tiptap-editor img.editor-image{border-radius:8px;max-width:100%;margin:.75rem 0;display:block}.tiptap-editor img.editor-image[data-align=left]{float:left;margin:.25rem 1rem .5rem 0;display:block}.tiptap-editor img.editor-image[data-align=right]{float:right;margin:.25rem 0 .5rem 1rem;display:block}.tiptap-editor img.editor-image[data-align=center]{margin-left:auto;margin-right:auto}.youtube-embed-wrapper{background:#000;border-radius:10px;width:100%;margin:1.5rem 0;padding-bottom:56.25%;position:relative;overflow:hidden}.youtube-iframe{border:none;width:100%;height:100%;position:absolute;inset:0}.editor-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:2px;margin-bottom:4px;padding:6px 0 10px;display:flex}.toolbar-btn{min-width:30px;height:28px;color:var(--fg-muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0 6px;font-family:inherit;font-size:13px;transition:background .1s,color .1s;display:flex}.toolbar-btn:hover,.toolbar-btn.active{background:var(--border);color:var(--fg)}.toolbar-divider{background:var(--border);flex-shrink:0;width:1px;height:16px;margin:0 4px;display:inline-block}.toolbar-label{color:var(--fg-subtle);text-transform:uppercase;letter-spacing:.04em;margin-right:2px;padding:0 4px;font-size:11px;font-weight:600}.editor-loading{height:24px;margin:8px 0}.editor-loading-bar{background:linear-gradient(90deg,var(--border)25%,var(--bg)50%,var(--border)75%);background-size:200% 100%;border-radius:2px;width:80px;height:2px;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:100;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;width:100%;max-width:420px;position:relative;overflow:hidden;box-shadow:0 25px 60px #00000040}.modal-close{background:var(--border);width:28px;height:28px;color:var(--fg-muted);cursor:pointer;z-index:1;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex;position:absolute;top:14px;right:14px}.modal-close:hover{background:var(--border-focus);color:var(--fg)}.modal-body{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:2rem;display:flex}.modal-icon{margin-bottom:4px;font-size:2rem;line-height:1}.modal-title{letter-spacing:-.025em;color:var(--fg);margin:0;font-size:1.25rem;font-weight:700}.modal-subtitle{color:var(--fg-muted);max-width:300px;margin:0;font-size:.875rem;line-height:1.5}.auth-buttons{flex-direction:column;gap:8px;width:100%;margin-top:4px;display:flex}.btn-oauth{cursor:pointer;border:1px solid var(--border);background:var(--bg-elevated);width:100%;color:var(--fg);border-radius:9px;justify-content:center;align-items:center;gap:10px;padding:11px 16px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s,transform .1s,box-shadow .15s;display:flex}.btn-oauth:hover{background:var(--bg);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.btn-oauth:active{transform:translateY(0)}.auth-divider{width:100%;color:var(--fg-subtle);align-items:center;gap:12px;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.magic-form{flex-direction:column;gap:8px;width:100%;display:flex}.magic-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--fg);border-radius:9px;outline:none;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .15s}.magic-input:focus{border-color:var(--border-focus)}.btn-magic{background:var(--accent);width:100%;color:var(--bg);cursor:pointer;border:none;border-radius:9px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s}.btn-magic:hover:not(:disabled){background:var(--accent-hover)}.btn-magic:disabled{opacity:.6;cursor:not-allowed}.magic-sent{background:var(--bg);border:1px solid var(--border);color:var(--fg-muted);border-radius:10px;flex-direction:column;align-items:center;gap:8px;width:100%;padding:12px;font-size:13px;display:flex}.magic-sent strong{color:var(--fg)}.profile-field-label{color:var(--fg);text-align:left;width:100%;margin:0 0 .4rem;font-size:.875rem;font-weight:600;display:block}.profile-field-hint{color:var(--fg-muted);font-weight:400}.interest-chips{flex-wrap:wrap;gap:8px;width:100%;display:flex}.interest-chip{cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.8125rem;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.interest-chip:hover{border-color:var(--accent);color:var(--fg)}.interest-chip--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.modal-body--centered{justify-content:center;align-items:center;min-height:200px}.modal-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.publish-preview{background:var(--bg);border:1px solid var(--border);text-align:left;border-radius:10px;width:100%;padding:16px}.publish-preview-title{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:15px;font-weight:600;overflow:hidden}.publish-preview-by{color:var(--fg-muted);margin:0;font-size:12px}.btn-publish-confirm{background:var(--accent);width:100%;color:var(--bg);cursor:pointer;border:none;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-family:inherit;font-size:15px;font-weight:600;transition:background .15s;display:flex}.btn-publish-confirm:hover:not(:disabled){background:var(--accent-hover)}.btn-publish-confirm:disabled{opacity:.7;cursor:not-allowed}.btn-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}.share-url-row{background:var(--bg);border:1px solid var(--border);border-radius:9px;align-items:center;gap:8px;width:100%;padding:10px 12px;display:flex}.share-url{color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-family:var(--font-mono);flex:1;overflow:hidden}.btn-copy{background:var(--accent);color:var(--bg);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex-shrink:0;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s}.btn-copy--done{background:#22c55e}.btn-copy:hover:not(.btn-copy--done){background:var(--accent-hover)}.btn-view-article{color:#3b82f6;font-size:14px;font-weight:500;text-decoration:none;transition:opacity .15s}.btn-view-article:hover{opacity:.8}.dashboard-sign-out,.editor-sign-in,.editor-sign-out{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.dashboard-title{letter-spacing:-.025em;color:var(--fg);margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.dashboard-title-dot{color:var(--accent)}.dashboard-subtitle{color:var(--fg-muted);margin:0 0 1.5rem;font-size:.9375rem;line-height:1.5}.dashboard-actions{justify-content:flex-end;margin-bottom:1.75rem;display:flex}.btn-dashboard-write{color:#fff;cursor:pointer;background:#f97316;border:none;border-radius:12px;justify-content:center;align-items:center;padding:12px 24px;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background .2s,box-shadow .2s,transform .15s;display:inline-flex;box-shadow:0 2px 8px #f9731640}.btn-dashboard-write:hover{background:#ea580c;transform:translateY(-1px);box-shadow:0 4px 14px #f9731659}.btn-dashboard-write:active{transform:translateY(0)}.dashboard-empty{text-align:center;background:var(--bg-elevated);border:1px solid var(--border);color:var(--fg-muted);border-radius:16px;padding:3rem 2rem}.dashboard-empty p{margin:0 0 1.25rem;font-size:.9375rem}.dashboard-list{overflow-x:auto}.dashboard-table-wrap{background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 1px 4px #0000000a}@media (prefers-color-scheme:dark){.dashboard-table-wrap{box-shadow:0 2px 12px #0003}}.dashboard-table{border-collapse:collapse;width:100%;font-size:.9375rem}.dashboard-table th,.dashboard-table td{text-align:left;vertical-align:middle;padding:16px 20px}.dashboard-table thead{background:var(--bg)}.dashboard-table thead th{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);padding-top:14px;padding-bottom:14px;font-size:.6875rem;font-weight:600}.dashboard-table tbody td{border-bottom:1px solid var(--border)}.dashboard-table tbody tr:last-child td{border-bottom:none}.dashboard-table tbody tr{transition:background .15s}.dashboard-table tbody tr:hover{background:var(--border)}.dashboard-row-title{color:var(--fg);font-size:.9375rem;font-weight:600;line-height:1.4;text-decoration:none;transition:color .15s}.dashboard-row-title:hover{color:var(--accent)}.dashboard-row-muted{color:var(--fg-muted);font-size:.875rem}.dashboard-row-views{color:var(--fg-muted);font-variant-numeric:tabular-nums;font-size:.875rem}.dashboard-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dashboard-action{cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.dashboard-action span{white-space:nowrap}.dashboard-action:hover{color:var(--fg);background:var(--border);border-color:var(--border)}.dashboard-action-edit:hover{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.dashboard-action-view:hover{color:var(--fg);background:var(--border);border-color:var(--border)}.dashboard-action-delete:hover{color:var(--destructive);background:var(--destructive-soft);border-color:var(--destructive)}.dashboard-action-delete:disabled{opacity:.5;cursor:not-allowed}.dashboard-action-delete:disabled:hover{color:var(--fg-muted);background:var(--bg);border-color:var(--border)}.edit-actions{border-top:1px solid var(--border);align-items:center;gap:12px;margin-top:1.5rem;padding-top:1rem;display:flex}.article-page{background:var(--bg);min-height:100dvh}@media (prefers-color-scheme:dark){.article-page{background:#222225}.article-page .article-nav-link{color:#a1a1aa}.article-page .article-nav-link:hover{color:#e4e4e7}.article-page .article-body{color:#d4d4d8}.article-page .article-title,.article-page .article-meta{color:#e4e4e7}.article-page .article-body blockquote{color:#a1a1aa;border-left-color:#52525b}.article-page .article-body a{color:#93c5fd}.article-page .article-body code{color:#f4a5a8;background:#2d2d30}.article-page .article-body pre{color:#d4d4d8;background:#2d2d30}.article-page .article-cta{color:#a1a1aa}.article-page .article-cta:hover{color:#e4e4e7}}.article-nav{border-bottom:1px solid var(--border);padding:16px clamp(1.25rem,4vw,2.5rem)}.article-nav--edit{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.article-nav--dashboard{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.article-nav-right{align-items:center;gap:12px;display:flex}.edit-container{padding-top:2rem;padding-bottom:4rem}.article-nav-link{color:var(--fg-muted);align-items:center;gap:6px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.article-nav-link:hover{color:var(--fg)}.article-nav-with-logo{gap:10px}.article-nav-logo{object-fit:contain;object-position:left center;width:auto;max-width:144px;height:35px}.article-container{width:100%;max-width:740px;margin:0 auto;padding:3rem clamp(1.25rem,4vw,2.5rem) 6rem}.article-container.dashboard-main,.article-container.legal-page{max-width:1100px}.article-container.edit-container{max-width:740px}.article-header{margin-bottom:2.5rem}.article-title{letter-spacing:-.03em;color:var(--fg);margin:0 0 1rem;font-size:clamp(1.75rem,4.5vw,2.75rem);font-weight:800;line-height:1.15}.article-meta{color:var(--fg-muted);align-items:center;gap:8px;font-size:14px;display:flex}.article-author{font-weight:500}.article-sep{color:var(--accent)}.article-cover{object-fit:cover;border-radius:12px;width:100%;max-height:480px;margin-bottom:2.5rem}.article-body{color:var(--fg);font-size:1.0625rem;line-height:1.85;font-family:var(--font-serif)}.article-body h1{font-family:var(--font-sans);letter-spacing:-.03em;margin:2.5rem 0 .75rem;font-size:2em;font-weight:800;line-height:1.2}.article-body h2{font-family:var(--font-sans);letter-spacing:-.02em;margin:2rem 0 .5rem;font-size:1.5em;font-weight:700;line-height:1.3}.article-body h3{font-family:var(--font-sans);margin:1.75rem 0 .5rem;font-size:1.25em;font-weight:600;line-height:1.4}.article-body p{margin:0 0 1.5rem}.article-body a{color:#2563eb;text-underline-offset:3px;text-decoration:underline;transition:opacity .15s}.article-body a:hover{opacity:.7}.article-body strong{font-weight:700}.article-body em{font-style:italic}.article-body blockquote{border-left:4px solid var(--border-focus);color:var(--fg-muted);margin:2rem 0;padding:.5rem 0 .5rem 1.5rem;font-size:1.1em;font-style:italic}.article-body ul,.article-body ol{margin:.75rem 0 1.5rem 1.5rem}.article-body li{margin:.4rem 0}.legal-updated{color:var(--fg-muted);margin:.25rem 0 0;font-size:.9375rem}.legal-body section{margin-top:2rem}.legal-body section:first-of-type{margin-top:0}.legal-body h2{margin-top:2.5rem;margin-bottom:.75rem}.legal-body h2:first-child{margin-top:0}.legal-body h3{margin-top:1.25rem;margin-bottom:.5rem}.article-body code{font-family:var(--font-mono);background:var(--border);color:#e11d48;border-radius:4px;padding:.15em .4em;font-size:.875em}@media (prefers-color-scheme:dark){.article-body code{color:#fb7185}}.article-body pre{background:var(--code-bg);color:var(--code-fg);font-family:var(--font-mono);border-radius:10px;margin:1.75rem 0;padding:1.25rem 1.5rem;font-size:.875rem;line-height:1.7;overflow-x:auto}.article-body pre code{font-size:inherit;color:inherit;background:0 0;padding:0}.article-body img{border-radius:10px;max-width:100%;margin:2rem 0;display:block}.article-body img[data-align=left]{float:left;margin:.5rem 1.25rem .75rem 0}.article-body img[data-align=right]{float:right;margin:.5rem 0 .75rem 1.25rem}.article-body img[data-align=center]{margin-left:auto;margin-right:auto}.article-body hr{border:none;border-top:1px solid var(--border);margin:3rem 0}.article-body [data-youtube]{background:#000;border-radius:10px;width:100%;margin:2rem 0;padding-bottom:56.25%;position:relative;overflow:hidden}.article-body [data-youtube] iframe{border:none;width:100%;height:100%;position:absolute;inset:0}.article-footer{border-top:1px solid var(--border);flex-direction:column;gap:1.5rem;margin-top:4rem;padding-top:2rem;display:flex}.article-share{flex-wrap:nowrap;align-items:center;gap:14px;display:flex}.article-share-label{font-size:13px;font-family:var(--font-sans);color:var(--fg-muted);flex-shrink:0;font-weight:500}.article-share-buttons{flex-shrink:0;align-items:center;gap:8px;display:flex}.article-share-btn{width:40px;min-width:40px;height:40px;min-height:40px;color:var(--fg-muted);background:var(--border);cursor:pointer;font:inherit;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:color .15s,background .15s,transform .1s;display:inline-flex}.article-share-btn:hover{color:var(--fg);background:var(--border-focus);transform:translateY(-1px)}.article-share-btn:active{transform:translateY(0)}.article-share-icon{flex-shrink:0;width:20px;height:20px;display:block}.article-share-icon svg{width:100%;height:100%;display:block}.article-cta{font-size:14px;font-family:var(--font-sans);color:var(--fg-muted);font-weight:500;text-decoration:none;transition:color .15s}.article-cta:hover{color:var(--fg)}.hljs-comment,.hljs-quote{color:#636f88;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-addition{color:#cba6f7}.hljs-number,.hljs-string,.hljs-meta .hljs-meta-string,.hljs-literal,.hljs-doctag,.hljs-regexp{color:#a6e3a1}.hljs-title,.hljs-section,.hljs-name,.hljs-selector-id,.hljs-selector-class{color:#89b4fa}.hljs-attribute,.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-class .hljs-title,.hljs-type{color:#fab387}.hljs-symbol,.hljs-bullet,.hljs-subst,.hljs-meta,.hljs-meta .hljs-keyword,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-link{color:#89dceb}.hljs-built_in,.hljs-deletion{color:#f38ba8}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}@media (max-width:640px){.editor-canvas{padding-top:2rem;padding-bottom:4rem}.modal-card{border-radius:12px}.modal-body{padding:1.5rem}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
