:root{--color-black: #000000;--color-carbon: #1C1C1E;--color-graphite: #48484A;--color-telemetry: #8E8E93;--color-silver: #D1D1D6;--color-vellum: #EBE9E1;--color-paper: #F7F6F2;--color-white: #FFFFFF;--up-red: #E03020;--down-blue: #0066CC;--font-sans: "Asta Sans", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Asta Sans", "Pretendard", monospace;--border-main: 1px solid var(--color-black);--border-sub: 1px solid var(--color-silver);--border-dark: 1px solid var(--color-graphite);--max-content-width: 1200px}*{box-sizing:border-box;margin:0;padding:0}::selection{background-color:var(--color-black);color:var(--color-paper)}html,body{width:100%;min-height:100%;background-color:var(--color-paper);color:var(--color-black);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;word-break:keep-all;overflow-x:hidden}button,input,select,textarea{font-family:inherit;color:inherit}a{color:inherit;text-decoration:none}.shell{min-height:100vh;display:flex;flex-direction:column;width:100%}header{background:var(--color-paper);border-bottom:var(--border-main);position:sticky;top:0;z-index:100;width:100%}.head{max-width:var(--max-content-width);margin:0 auto;padding:0 16px;height:56px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px}@media(min-width:768px){.head{height:64px;padding:0 24px}}.brand.asterisk-brand{background:none;border:0;padding:0;cursor:pointer;display:flex;align-items:center;flex-shrink:0}.asterisk-logo{height:24px;width:auto;display:block}@media(min-width:768px){.asterisk-logo{height:26px}}.desktop-nav{display:none;align-items:center;gap:4px;height:100%}@media(min-width:768px){.desktop-nav{display:flex}}.desktop-nav button,.desktop-nav a{font-family:var(--font-mono);font-size:13px;font-weight:500;padding:6px 12px;border:1px solid transparent;background:transparent;color:var(--color-black);cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:4px;letter-spacing:-.01em;white-space:nowrap;flex-shrink:0}.desktop-nav button:hover,.desktop-nav a:hover{border-color:var(--color-black)}.desktop-nav button.active{background:var(--color-black);color:var(--color-paper);border-color:var(--color-black);font-weight:600}.desktop-nav a sup{font-size:9px;font-family:var(--font-sans)}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:var(--border-main);background:var(--color-paper);color:var(--color-black);cursor:pointer;transition:all .15s ease}.mobile-menu-toggle:hover{background:var(--color-black);color:var(--color-paper)}@media(min-width:768px){.mobile-menu-toggle{display:none}}.mobile-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:flex-end}.mobile-drawer.hidden{display:none}@media(min-width:768px){.mobile-drawer{display:none!important}}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drawer-panel{position:relative;width:300px;max-width:85%;height:100%;background:var(--color-paper);border-left:var(--border-main);z-index:1;display:flex;flex-direction:column;justify-content:space-between;padding:24px 20px;box-shadow:-10px 0 30px #00000026;animation:drawerSlideIn .2s cubic-bezier(.16,1,.3,1)}@keyframes drawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:var(--border-main);margin-bottom:20px}.drawer-brand-title{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.06em}.drawer-star{font-weight:800}.drawer-close-btn{width:32px;height:32px;border:1px solid var(--color-silver);background:transparent;color:var(--color-black);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.drawer-close-btn:hover{border-color:var(--color-black);background:var(--color-black);color:var(--color-paper)}.drawer-body{flex:1;overflow-y:auto}.drawer-section-label{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--color-telemetry);margin-bottom:10px}.drawer-nav{display:flex;flex-direction:column;gap:4px}.drawer-nav-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 10px;border:1px solid transparent;border-bottom:1px solid var(--color-silver);background:transparent;color:var(--color-black);text-align:left;cursor:pointer;transition:all .15s ease}.drawer-nav-item:hover{background:var(--color-vellum)}.drawer-nav-item.active{background:var(--color-black);color:var(--color-paper);border-color:var(--color-black)}.drawer-idx{font-family:var(--font-mono);font-size:11px;opacity:.6;margin-right:10px}.drawer-label{font-size:14px;font-weight:500;flex:1}.drawer-sub{font-family:var(--font-mono);font-size:10.5px;opacity:.6}.drawer-ext-links{display:flex;flex-direction:column;gap:6px}.drawer-ext-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--color-silver);background:var(--color-vellum);font-family:var(--font-mono);font-size:12px;font-weight:600;transition:all .15s ease}.drawer-ext-item:hover{border-color:var(--color-black);background:var(--color-black);color:var(--color-paper)}.drawer-arrow{font-size:14px}.drawer-footer{padding-top:14px;border-top:1px solid var(--color-silver);display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10.5px;color:var(--color-telemetry)}main{max-width:var(--max-content-width);width:100%;margin:0 auto;padding:20px 16px 60px;flex:1}@media(min-width:768px){main{padding:32px 24px 80px}}.title{display:flex;flex-direction:column;align-items:flex-start;padding-bottom:14px;margin-bottom:20px;border-bottom:var(--border-main);gap:12px}@media(min-width:640px){.title{flex-direction:row;align-items:flex-end;justify-content:space-between;padding-bottom:16px;margin-bottom:28px;gap:16px}}.title p#date{font-family:var(--font-mono);font-size:11px;color:var(--color-graphite);margin-bottom:4px;text-transform:uppercase;letter-spacing:.02em}.title h1#page-title{font-size:1.5rem;font-weight:300;letter-spacing:-.04em;line-height:1.15}@media(min-width:640px){.title h1#page-title{font-size:2rem}}.picker{display:flex;gap:6px;background:var(--color-vellum);padding:4px;border:var(--border-main);width:100%}@media(min-width:640px){.picker{width:auto}}.picker label{display:flex;align-items:center;gap:6px;background:var(--color-paper);border:1px solid var(--color-silver);padding:4px 10px;font-family:var(--font-mono);font-size:12px;flex:1}@media(min-width:640px){.picker label{flex:initial}}.picker label small{font-weight:600;color:var(--color-graphite)}.picker select{border:0;background:transparent;font-weight:700;font-size:13px;cursor:pointer;outline:none;width:100%}.eyebrow{display:inline-block;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;color:var(--color-graphite);margin-bottom:6px;text-transform:uppercase}.eyebrow:before{content:"* ";color:var(--color-black)}.eyebrow-plain{display:inline-block;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.04em;color:var(--color-graphite);margin-bottom:6px;text-transform:uppercase}.panel{background:var(--color-paper);border:var(--border-main);padding:18px;position:relative}@media(min-width:768px){.panel{padding:24px}}.panelhead h2,.panel h2{font-size:1.25rem;font-weight:400;letter-spacing:-.03em;margin-bottom:12px}button.primary{background:var(--color-black);color:var(--color-paper);border:var(--border-main);padding:8px 14px;font-family:var(--font-mono);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}button.primary:hover{background:var(--color-carbon);color:var(--color-paper)}button.secondary{background:transparent;color:var(--color-black);border:var(--border-main);padding:8px 14px;font-family:var(--font-mono);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}button.secondary:hover{background:var(--color-vellum)}button.back{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--color-silver);padding:6px 12px;font-family:var(--font-mono);font-size:12px;color:var(--color-graphite);cursor:pointer;margin-bottom:16px;transition:all .15s ease}button.back:hover{border-color:var(--color-black);color:var(--color-black)}.tag{display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:600;padding:2px 8px;background:var(--color-vellum);border:1px solid var(--color-graphite);color:var(--color-black);margin-bottom:6px}.empty{padding:32px 16px;text-align:center;font-family:var(--font-mono);font-size:13px;color:var(--color-graphite);border:var(--border-main);background:var(--color-vellum)}.dashboard{display:flex;flex-direction:column;gap:16px;width:100%}@media(min-width:1024px){.dashboard{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}}.now-card{width:100%;background:var(--color-black);color:var(--color-paper);border:var(--border-main);padding:20px;display:flex;flex-direction:column;justify-content:space-between;min-height:200px}@media(min-width:1024px){.now-card{grid-column:span 12;padding:28px;min-height:220px}}.now-top{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:11.5px;padding-bottom:12px;border-bottom:1px solid rgba(247,246,242,.2);margin-bottom:14px}.now-top span{display:inline-flex;align-items:center;gap:6px;letter-spacing:.05em;text-transform:uppercase}.now-dot{width:6px;height:6px;background:var(--color-paper);display:inline-block;animation:pulse-dot 2s infinite ease-in-out}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.now-top b{font-weight:500;opacity:.9}.now-card>p{font-family:var(--font-mono);font-size:12px;color:var(--color-telemetry);margin-bottom:4px}.now-card h2{font-size:1.75rem;font-weight:300;letter-spacing:-.04em;line-height:1.1;margin-bottom:6px}@media(min-width:768px){.now-card h2{font-size:2.2rem}}.now-card small{font-family:var(--font-mono);font-size:11px;color:var(--color-silver);display:block;margin-bottom:16px}.routine-progress{width:100%;height:4px;background:#f7f6f233;margin-bottom:12px;overflow:hidden}.routine-progress span{display:block;height:100%;background:var(--color-paper);transition:width .3s ease}.now-next{font-family:var(--font-mono);font-size:11px;color:var(--color-silver);padding-top:10px;border-top:1px solid rgba(247,246,242,.15)}.now-next strong{color:var(--color-paper);font-weight:600}.dash-card{width:100%;border:var(--border-main);background:var(--color-paper);padding:18px;display:flex;flex-direction:column;justify-content:space-between}@media(min-width:1024px){.dash-card{padding:22px}.weather-card,.meal-card,.notice-card{grid-column:span 4}.today-schedule{grid-column:span 12}}.dash-card h3{font-size:1.15rem;font-weight:500;letter-spacing:-.02em;margin-bottom:6px}.dash-card p{font-size:13px;color:var(--color-graphite);line-height:1.6;margin-bottom:14px;flex:1}.dash-link{align-self:flex-start;background:transparent;border:1px solid var(--color-black);padding:5px 12px;font-family:var(--font-mono);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease;margin-top:auto}.dash-link:hover{background:var(--color-black);color:var(--color-paper)}.weather-main{display:flex;align-items:center;gap:10px;margin:8px 0 12px}.weather-main img{width:36px;height:36px;filter:grayscale(100%) contrast(150%)}.weather-main strong{font-size:2.2rem;font-weight:300;letter-spacing:-.05em;line-height:1}.weather-card small{font-family:var(--font-mono);font-size:11px;color:var(--color-telemetry);margin-top:8px;display:block}.dash-notice-item{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--color-silver);padding:8px 0;cursor:pointer;gap:8px;font-size:12.5px;transition:background-color .15s ease}.dash-notice-item:last-of-type{border-bottom:0}.dash-notice-item:hover{opacity:.6}.dash-notice-item span{font-family:var(--font-mono);font-size:10.5px;font-weight:600;padding:1px 5px;border:1px solid var(--color-graphite);flex-shrink:0}.dash-notice-item b{font-weight:400;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-notice-item time{font-family:var(--font-mono);font-size:11px;color:var(--color-telemetry);flex-shrink:0}.dash-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--color-silver);flex-wrap:wrap;gap:8px}.today-lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.today-line{border:1px solid var(--color-silver);background:var(--color-vellum);padding:10px 8px;display:flex;flex-direction:column;gap:3px}.today-line.current{background:var(--color-black);color:var(--color-paper);border-color:var(--color-black)}.today-line span{font-family:var(--font-mono);font-size:10.5px;font-weight:600;opacity:.8}.today-line time{font-family:var(--font-mono);font-size:10.5px;opacity:.6}.today-line b{font-size:13.5px;font-weight:600;letter-spacing:-.02em}.dash-market-section{width:100%;margin-top:8px}@media(min-width:1024px){.dash-market-section{grid-column:span 12}}.market-section-head{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:10px;margin-bottom:16px;border-bottom:var(--border-main);gap:10px;flex-wrap:wrap}.market-section-head h3{font-size:1.25rem;font-weight:400;letter-spacing:-.03em}.market-heading-link{display:inline-flex;align-items:baseline;gap:4px;color:inherit;text-decoration:none;cursor:pointer;transition:opacity .15s ease}.market-heading-link:hover{opacity:.7}.market-heading-link sup{font-size:.65em;color:var(--color-telemetry);transition:transform .15s ease,color .15s ease}.market-heading-link:hover sup{color:var(--color-black);transform:translate(2px,-2px)}.market-refresh-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.02em;background:var(--color-paper);color:var(--color-black);border:var(--border-main);cursor:pointer;transition:all .15s ease}.market-refresh-btn:hover:not(:disabled){background:var(--color-black);color:var(--color-paper)}.market-refresh-btn:disabled{cursor:not-allowed;border-color:var(--color-silver);color:var(--color-telemetry);background:var(--color-vellum)}.market-mobile-tabs{display:flex;gap:4px;background:var(--color-vellum);padding:3px;border:var(--border-main);margin-bottom:12px}@media(min-width:768px){.market-mobile-tabs{display:none}}.market-mob-tab{flex:1;font-family:var(--font-mono);font-size:11px;font-weight:600;padding:6px 8px;border:0;background:transparent;color:var(--color-black);cursor:pointer;transition:all .15s ease;text-align:center}.market-mob-tab.active{background:var(--color-black);color:var(--color-paper)}.market-cards-grid{display:flex;flex-direction:column;gap:16px;width:100%}@media(min-width:768px){.market-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}}@media(max-width:767px){.market-card:not(.mob-active){display:none!important}.market-card.mob-active{display:flex!important}}.market-card{width:100%;border:var(--border-main);background:var(--color-paper);padding:18px;display:flex;flex-direction:column;justify-content:space-between;min-height:280px;position:relative}.market-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:8px;border-bottom:1px solid var(--color-silver);margin-bottom:10px}.market-title-wrap{display:flex;flex-direction:column}.market-series-name{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-graphite)}.market-series-name:before{content:"* ";color:var(--color-black)}.market-card-title{font-size:1.05rem;font-weight:600;letter-spacing:-.02em;margin-top:2px}.market-rate-box{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;flex-wrap:wrap}.market-current-rate{font-size:1.7rem;font-weight:300;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}.market-current-rate small{font-size:.8rem;font-weight:400;color:var(--color-graphite);margin-left:2px}.market-diff-box{display:flex;flex-direction:column;gap:2px}.market-diff-rate{font-family:var(--font-mono);font-size:11.5px;font-weight:700;letter-spacing:-.01em}.market-diff-rate.diff-up{color:var(--up-red)}.market-diff-rate.diff-down{color:var(--down-blue)}.market-diff-rate.diff-even{color:var(--color-graphite)}.market-date-label{font-family:var(--font-mono);font-size:10.5px;color:var(--color-telemetry)}.market-chart-container{position:relative;height:120px;width:100%;margin:6px 0 12px}.market-card-footer{padding-top:8px;border-top:1px solid var(--color-silver);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:10.5px;color:var(--color-telemetry);text-transform:uppercase;letter-spacing:.02em}.grid{display:flex;flex-direction:column;gap:16px;width:100%}@media(min-width:1024px){.timegrid{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:20px;margin-bottom:28px}}.scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;min-width:480px;border-collapse:collapse;table-layout:fixed;border:var(--border-main);background:var(--color-paper)}th,td{border:1px solid var(--color-black);text-align:center;padding:10px 4px;font-size:12.5px}@media(min-width:768px){th,td{padding:12px 6px;font-size:13px}}thead th{background:var(--color-vellum);font-family:var(--font-mono);font-size:11.5px;font-weight:600}th:first-child{width:45px;background:var(--color-vellum);font-family:var(--font-mono);font-size:11.5px;font-weight:600}th.today,td.today{background:#e4e2d8;font-weight:700}.todaycard{display:flex;flex-direction:column}.todaylist{display:flex;flex-direction:column;gap:6px;margin-top:10px}.todaylist>div{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--color-silver);background:var(--color-vellum)}.todaylist>div span{font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:var(--color-graphite)}.todaylist>div b{font-size:13px;font-weight:600}.routine-board{border:var(--border-main);background:var(--color-paper);padding:18px;width:100%}@media(min-width:768px){.routine-board{padding:24px}}.routine-board-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-silver);flex-wrap:wrap;gap:10px}.routine-board-head h2{font-size:1.25rem;font-weight:400;letter-spacing:-.03em}.routine-tabs{display:flex;gap:3px;border:var(--border-main);background:var(--color-vellum);padding:3px;overflow-x:auto}.routine-tab-btn{font-family:var(--font-mono);font-size:11.5px;font-weight:600;padding:4px 10px;border:0;background:transparent;cursor:pointer;transition:all .15s ease;white-space:nowrap}.routine-tab-btn.active{background:var(--color-black);color:var(--color-paper)}.routine-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.routine-rows>div{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--color-silver);background:var(--color-vellum);font-size:12.5px}.routine-rows time{font-family:var(--font-mono);font-size:11.5px;color:var(--color-graphite)}.routine-rows strong{font-weight:600}.mealbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px;padding-bottom:12px;border-bottom:var(--border-main);flex-wrap:wrap;gap:10px}.mealbar h2{font-size:1.25rem;font-weight:400;letter-spacing:-.03em}.segments{display:flex;gap:3px;border:var(--border-main);background:var(--color-vellum);padding:3px}.meal-seg-btn{font-family:var(--font-mono);font-size:11.5px;font-weight:600;padding:4px 12px;border:0;background:transparent;cursor:pointer;transition:all .15s ease}.meal-seg-btn.active{background:var(--color-black);color:var(--color-paper)}.mealdays{display:flex;flex-direction:column;gap:12px;width:100%}@media(min-width:640px){.mealdays{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}}@media(min-width:1024px){.mealdays{grid-template-columns:repeat(5,1fr);gap:16px}}.mealday{border:var(--border-main);background:var(--color-paper);padding:16px;display:flex;flex-direction:column;min-height:200px}.mealday.current{background:var(--color-vellum);border-width:2px}.mealdate{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid var(--color-silver);font-family:var(--font-mono)}.mealdate strong{font-size:15px;font-weight:700}.mealdate span{font-size:11.5px;color:var(--color-graphite)}.mealday p{font-size:12.5px;line-height:1.6;color:var(--color-graphite);white-space:pre-line;flex:1}.after-subject{font-size:1.1rem;font-weight:600;letter-spacing:-.02em;margin-bottom:4px}.after-teacher{font-family:var(--font-mono);font-size:12px;color:var(--color-graphite)}.after-empty{font-family:var(--font-mono);font-size:11.5px;color:var(--color-telemetry);margin-top:12px}.board-wrap{border:var(--border-main);background:var(--color-paper);padding:18px;width:100%}@media(min-width:768px){.board-wrap{padding:28px}}.board-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:var(--border-main);margin-bottom:16px;flex-wrap:wrap;gap:10px}.board-brand{display:flex;align-items:center;gap:12px}.board-symbol{width:32px;height:32px;background:var(--color-black);color:var(--color-paper);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:15px;font-weight:700}.board-brand h2{font-size:1.25rem;font-weight:400;letter-spacing:-.03em}.board-brand p{font-family:var(--font-mono);font-size:11.5px;color:var(--color-telemetry)}.board-filters{display:flex;gap:4px;margin-bottom:14px;overflow-x:auto;padding-bottom:2px}.board-filter-btn{font-family:var(--font-mono);font-size:11.5px;font-weight:500;padding:4px 10px;border:1px solid var(--color-silver);background:transparent;cursor:pointer;transition:all .15s ease;white-space:nowrap}.board-filter-btn:hover{border-color:var(--color-black)}.board-filter-btn.active{background:var(--color-black);color:var(--color-paper);border-color:var(--color-black);font-weight:600}.postlist{display:flex;flex-direction:column}.post-table-head{display:none}@media(min-width:768px){.post-table-head{display:grid;grid-template-columns:55px 1fr 90px 110px 24px;padding:8px 14px;background:var(--color-vellum);border-top:var(--border-main);border-bottom:var(--border-main);font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--color-graphite);text-transform:uppercase}}.post-row{display:grid;grid-template-columns:1fr 20px;align-items:center;padding:12px 6px;border:0;border-bottom:1px solid var(--color-silver);background:transparent;text-align:left;cursor:pointer;transition:background-color .15s ease;width:100%;gap:8px}@media(min-width:768px){.post-row{grid-template-columns:55px 1fr 90px 110px 24px;padding:14px;gap:0}}.post-row:hover{background:var(--color-vellum)}.post-index{display:none;font-family:var(--font-mono);font-size:12px;color:var(--color-telemetry)}@media(min-width:768px){.post-index{display:block}}.post-title-line{display:flex;align-items:center;gap:8px;min-width:0}.post-title-line .tag{margin-bottom:0}.post-title-line h3{font-size:13px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:768px){.post-title-line h3{font-size:13.5px}}.post-author{display:none;font-family:var(--font-mono);font-size:12px;color:var(--color-graphite)}@media(min-width:768px){.post-author{display:block}}.post-date{display:none;font-family:var(--font-mono);font-size:12px;color:var(--color-telemetry)}@media(min-width:768px){.post-date{display:block}}.post-row b{font-family:var(--font-mono);font-size:14px;color:var(--color-silver)}.panel.detail{border:var(--border-main)}.panel.detail h2{font-size:1.4rem;font-weight:400;letter-spacing:-.03em;margin:10px 0 6px}@media(min-width:768px){.panel.detail h2{font-size:1.7rem}}.panel.detail time{display:block;font-family:var(--font-mono);font-size:11.5px;color:var(--color-telemetry);padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--color-silver)}.panel.detail .body{font-size:13.5px;line-height:1.75;color:var(--color-graphite);white-space:pre-wrap}.panel.editor{border:var(--border-main)}.panel.editor label{display:flex;flex-direction:column;gap:6px;font-family:var(--font-mono);font-size:12px;font-weight:600;margin-bottom:14px}.editor-select,input#post-title,textarea#post-body{border:var(--border-main);background:var(--color-paper);padding:10px;font-family:var(--font-sans);font-size:13.5px;outline:none}input#post-title:focus,textarea#post-body:focus,.editor-select:focus{border-color:var(--color-black);box-shadow:0 0 0 1px var(--color-black)}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}footer{border-top:var(--border-main);background:var(--color-paper);padding:20px 0;margin-top:auto;width:100%}.head-footer,footer{max-width:var(--max-content-width);margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}@media(min-width:768px){.head-footer,footer{padding-left:24px;padding-right:24px;flex-direction:row;justify-content:space-between;align-items:center;gap:16px}}.footer-copy{display:flex;flex-direction:column;gap:2px;font-size:12.5px}.footer-copy b{font-weight:600;letter-spacing:-.01em}.footer-copy span{font-family:var(--font-mono);font-size:11px;color:var(--color-telemetry)}.brand-story-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11.5px;font-weight:600;border:var(--border-main);background:transparent;padding:6px 12px;cursor:pointer;transition:all .15s ease}.brand-story-link:hover{background:var(--color-black);color:var(--color-paper)}.toast{position:fixed;bottom:20px;right:20px;background:var(--color-black);color:var(--color-paper);border:var(--border-main);padding:10px 16px;font-family:var(--font-mono);font-size:12px;z-index:1000}.toast.hidden,.welcome.hidden{display:none}.welcome{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.welcome form{background:var(--color-paper);border:var(--border-main);padding:24px 20px;max-width:380px;width:100%;display:flex;flex-direction:column;gap:12px}.welcome h2{font-size:1.4rem;font-weight:300;letter-spacing:-.03em}.welcome p{font-size:13px;color:var(--color-graphite)}.welcome label{display:flex;flex-direction:column;gap:4px;font-family:var(--font-mono);font-size:11.5px;font-weight:600}.welcome input{border:var(--border-main);padding:8px 10px;font-size:13.5px;outline:none}.welcome button{background:var(--color-black);color:var(--color-paper);border:var(--border-main);padding:10px;font-family:var(--font-mono);font-size:12.5px;font-weight:600;cursor:pointer}.welcome small{font-family:var(--font-mono);font-size:10.5px;color:var(--color-telemetry);text-align:center}.nav-divider{width:1px;height:16px;background-color:var(--color-silver);margin:0 4px}.nav-auth-container{display:flex;align-items:center;gap:6px}.btn-nav-login{font-family:var(--font-mono);font-size:12px;font-weight:600;padding:5px 11px;background:var(--color-black);color:var(--color-paper);border:var(--border-main);cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px;letter-spacing:-.01em}.btn-nav-login:hover{background:var(--color-carbon);transform:translateY(-1px)}.btn-nav-profile{font-family:var(--font-mono);font-size:12px;font-weight:500;padding:4px 10px;background:var(--color-vellum);border:var(--border-main);color:var(--color-black);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease}.btn-nav-profile:hover{background:#dedcd4}.btn-nav-profile-dot{width:7px;height:7px;border-radius:50%;background-color:#2e7d32;display:inline-block}.btn-nav-name-edit{font-family:var(--font-mono);font-size:12px;font-weight:500;padding:4px 8px;background:transparent;border:1px dashed var(--color-graphite);color:var(--color-black);cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .15s ease}.btn-nav-name-edit:hover{border-style:solid;border-color:var(--color-black);background:var(--color-vellum)}.drawer-auth-container{padding:12px;background:var(--color-vellum);border:var(--border-main);margin-bottom:12px;display:flex;flex-direction:column;gap:10px}.drawer-auth-user-info{display:flex;flex-direction:column;gap:2px}.drawer-auth-user-info .user-name{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px}.drawer-auth-user-info .user-email{font-family:var(--font-mono);font-size:11px;color:var(--color-graphite);word-break:break-all}.drawer-auth-actions{display:flex;gap:6px;margin-top:2px}.drawer-auth-actions button{flex:1;padding:7px 8px;font-family:var(--font-mono);font-size:11.5px;font-weight:600;border:var(--border-main);cursor:pointer;transition:all .15s ease;text-align:center}.drawer-auth-actions .btn-drawer-primary{background:var(--color-black);color:var(--color-paper)}.drawer-auth-actions .btn-drawer-primary:hover{background:var(--color-carbon)}.drawer-auth-actions .btn-drawer-secondary{background:var(--color-paper);color:var(--color-black)}.drawer-auth-actions .btn-drawer-secondary:hover{background:#dedcd4}.title-name-edit-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--color-silver);color:var(--color-graphite);width:26px;height:26px;border-radius:2px;cursor:pointer;vertical-align:middle;margin-left:8px;transition:all .15s ease}.title-name-edit-btn:hover{border-color:var(--color-black);color:var(--color-black);background:var(--color-vellum)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-overlay.hidden{display:none}.modal-card{background:var(--color-paper);border:var(--border-main);padding:24px 20px;max-width:400px;width:100%;display:flex;flex-direction:column;gap:14px;animation:modalIn .2s cubic-bezier(.16,1,.3,1);box-shadow:6px 6px #0003}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-close-btn{background:none;border:none;font-size:16px;line-height:1;cursor:pointer;color:var(--color-graphite);padding:4px 6px}.modal-close-btn:hover{color:var(--color-black)}.modal-card h2{font-size:1.35rem;font-weight:400;letter-spacing:-.03em}.modal-card p{font-size:12.5px;color:var(--color-graphite);line-height:1.45}.modal-card form{display:flex;flex-direction:column;gap:12px}.modal-card label{display:flex;flex-direction:column;gap:6px;font-family:var(--font-mono);font-size:11.5px;font-weight:600}.modal-card input{border:var(--border-main);padding:9px 12px;font-size:13.5px;outline:none;background:var(--color-white)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.modal-actions button{padding:9px 14px;font-family:var(--font-mono);font-size:12px;font-weight:600;cursor:pointer;border:var(--border-main);transition:all .15s ease}.btn-submit{background:var(--color-black);color:var(--color-paper)}.btn-submit:hover{background:var(--color-carbon)}.btn-cancel,.btn-secondary{background:var(--color-paper);color:var(--color-black)}.btn-cancel:hover,.btn-secondary:hover{background:var(--color-vellum)}.btn-danger{background:#fff0ee;border-color:var(--up-red);color:var(--up-red)}.btn-danger:hover{background:var(--up-red);color:#fff}.profile-info-box{background:var(--color-vellum);border:var(--border-main);padding:14px;display:flex;flex-direction:column;gap:10px}.profile-row{display:flex;justify-content:space-between;align-items:center;font-size:12px}.profile-label{font-family:var(--font-mono);color:var(--color-graphite);font-size:11px}.profile-val{font-family:var(--font-mono);font-weight:500;color:var(--color-black);word-break:break-all}.profile-val.uid{font-size:10.5px;color:var(--color-graphite)}.brand-view-wrap{width:100%;max-width:1200px;margin:0 auto;padding:10px 0 60px}.brand-toast{position:fixed;bottom:24px;right:24px;z-index:1000;padding:12px 18px;border:1px solid var(--color-black);background:var(--color-black);color:var(--color-paper);display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:12px;box-shadow:0 10px 25px #0003}.brand-toast-swatch{width:10px;height:10px;border:1px solid var(--color-paper)}.brand-nav-bar{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;margin-bottom:32px;border-bottom:1px solid var(--color-black);font-family:var(--font-mono);font-size:12px;gap:12px;flex-wrap:wrap}.brand-nav-buttons{display:flex;align-items:center;gap:8px}.brand-nav-btn{padding:8px 16px;border:1px solid transparent;background:transparent;color:var(--color-black);font-family:var(--font-mono);font-size:12px;cursor:pointer;transition:all .15s ease}.brand-nav-btn:hover:not(.active){border-color:var(--color-black)}.brand-nav-btn.active{background:var(--color-black);color:var(--color-paper);border-color:var(--color-black);font-weight:600}.brand-nav-badge{font-weight:700;letter-spacing:.05em;color:var(--color-black)}.brand-hero-card{border:1px solid var(--color-black);background:var(--color-paper);padding:28px 20px;margin-bottom:40px}@media(min-width:768px){.brand-hero-card{padding:48px 40px;margin-bottom:56px}}.brand-hero-main-row{display:flex;flex-direction:column;gap:28px}@media(min-width:768px){.brand-hero-main-row{display:grid;grid-template-columns:7fr 5fr;align-items:flex-end;gap:32px}}.brand-hero-left h1{font-size:1.85rem;font-weight:300;letter-spacing:-.04em;line-height:1.15;color:var(--color-black)}@media(min-width:640px){.brand-hero-left h1{font-size:2.8rem}}@media(min-width:1024px){.brand-hero-left h1{font-size:3.4rem}}.brand-hero-right{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}@media(min-width:768px){.brand-hero-right{align-items:flex-end}}.brand-hero-wordmark{font-weight:300;letter-spacing:-.06em;line-height:.85;color:var(--color-black);-webkit-user-select:none;user-select:none;font-size:3.8rem}@media(min-width:640px){.brand-hero-wordmark{font-size:5.5rem}}@media(min-width:1024px){.brand-hero-wordmark{font-size:6.8rem}}.brand-hero-wordmark-bottom{display:flex;align-items:baseline;gap:6px}.brand-hero-asterisk{font-size:.85em;font-weight:400;transform:translateY(4px);display:inline-block}.brand-hero-footer-bar{margin-top:28px;padding-top:14px;border-top:1px solid rgba(0,0,0,.15);display:flex;flex-direction:column;gap:8px;font-family:var(--font-mono);font-size:11.5px;color:var(--color-graphite)}@media(min-width:640px){.brand-hero-footer-bar{flex-direction:row;justify-content:space-between;align-items:center}}.brand-story-title-row{margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--color-black)}.brand-story-title-row h2{font-size:1.6rem;font-weight:300;letter-spacing:-.03em}@media(min-width:768px){.brand-story-title-row h2{font-size:2rem}}.brand-chapters-container{border-top:1px solid var(--color-black);border-bottom:1px solid var(--color-black)}.brand-chapter-block{padding:28px 0;border-bottom:1px solid var(--color-black);display:flex;flex-direction:column;gap:14px}.brand-chapter-block:last-child{border-bottom:0}@media(min-width:768px){.brand-chapter-block{display:grid;grid-template-columns:4fr 8fr;gap:36px;padding:44px 0}}.brand-chapter-meta{font-family:var(--font-mono);font-size:12.5px;font-weight:700;letter-spacing:.05em}.brand-chapter-content{display:flex;flex-direction:column;gap:14px}.brand-chapter-content h3{font-size:1.35rem;font-weight:300;letter-spacing:-.03em;line-height:1.3}@media(min-width:768px){.brand-chapter-content h3{font-size:1.75rem}}.brand-quote-box{padding:14px;border-left:2px solid var(--color-black);background:var(--color-vellum);font-family:var(--font-mono);font-size:12px;color:var(--color-graphite);line-height:1.65}.brand-prose-wrap{display:flex;flex-direction:column;gap:12px;font-size:13.5px;line-height:1.75;color:var(--color-graphite)}@media(min-width:768px){.brand-prose-wrap{font-size:15px}}.brand-features-list{display:flex;flex-direction:column;gap:8px;margin:10px 0;padding:16px;border:1px solid var(--color-black);background:var(--color-vellum);font-family:var(--font-mono);font-size:12px;color:var(--color-black);list-style:none}.brand-features-list li{display:flex;align-items:center;gap:8px}.brand-epilogue-box{padding:28px 20px;background:var(--color-black);color:var(--color-paper);margin-top:32px;display:flex;flex-direction:column;gap:14px}@media(min-width:768px){.brand-epilogue-box{display:grid;grid-template-columns:4fr 8fr;gap:36px;padding:44px;margin-top:48px}}.brand-epilogue-header{font-size:1.6rem;font-weight:300;letter-spacing:-.02em}.brand-epilogue-body{font-size:13.5px;line-height:1.75;opacity:.9}@media(min-width:768px){.brand-epilogue-body{font-size:15px}}.brand-section-head{display:flex;flex-direction:column;gap:6px;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--color-black)}@media(min-width:640px){.brand-section-head{flex-direction:row;justify-content:space-between;align-items:flex-end}}.brand-section-head h2{font-size:1.4rem;font-weight:300;letter-spacing:-.03em}@media(min-width:768px){.brand-section-head h2{font-size:1.85rem}}.brand-section-head p{font-family:var(--font-mono);font-size:11.5px;color:var(--color-telemetry)}.brand-colors-grid{display:flex;flex-direction:column;gap:20px;margin-bottom:48px}@media(min-width:768px){.brand-colors-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:64px}}.brand-color-main-card{padding:28px;border:1px solid var(--color-black);display:flex;flex-direction:column;justify-content:space-between;min-height:320px;transition:all .2s ease}.brand-color-main-card h3{font-size:1.85rem;font-weight:300;letter-spacing:-.03em;margin-bottom:4px}@media(min-width:768px){.brand-color-main-card h3{font-size:2.2rem}}.brand-color-korean-name{font-family:var(--font-mono);font-size:13px;opacity:.8;margin-bottom:14px}.brand-color-desc{font-size:14px;line-height:1.65;opacity:.95;margin-top:12px}.brand-color-bottom-bar{padding-top:20px;border-top:1px solid rgba(0,0,0,.15);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:13px;font-weight:600}.brand-copy-action-btn{padding:8px 16px;border:1px solid currentColor;background:transparent;color:inherit;font-family:var(--font-mono);font-size:11.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease}.brand-copy-action-btn:hover{background:currentColor;color:#000}.brand-color-list-card{padding:20px;border:1px solid var(--color-black);background:var(--color-vellum);display:flex;flex-direction:column;justify-content:space-between;gap:14px}.brand-color-list-title{font-family:var(--font-mono);font-size:12px;font-weight:700;padding-bottom:8px;border-bottom:1px solid var(--color-black)}.brand-color-items-stack{display:flex;flex-direction:column;gap:8px}.brand-color-row-item{padding:10px 12px;border:1px solid var(--color-silver);background:var(--color-paper);display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-family:var(--font-mono);font-size:12px;transition:all .15s ease}.brand-color-row-item.active{border-color:var(--color-black);background:var(--color-black);color:var(--color-paper)}.brand-color-row-left{display:flex;align-items:center;gap:10px;min-width:0}.brand-chip-sq{width:14px;height:14px;border:1px solid var(--color-black);flex-shrink:0}.brand-color-row-item.active .brand-chip-sq{border-color:var(--color-paper)}.brand-color-row-right{display:flex;align-items:center;gap:8px}.brand-icon-btn{background:transparent;border:0;color:inherit;cursor:pointer;padding:2px;display:flex;align-items:center;opacity:.8}.brand-icon-btn:hover{opacity:1}.brand-typo-section{border-top:1px solid var(--color-black);border-bottom:1px solid var(--color-black);margin-bottom:48px}.brand-typo-row{padding:28px 0;border-bottom:1px solid var(--color-black);display:flex;flex-direction:column;gap:14px}.brand-typo-row:last-child{border-bottom:0}@media(min-width:768px){.brand-typo-row{display:grid;grid-template-columns:3fr 9fr;gap:32px;padding:36px 0}}.brand-typo-label{font-family:var(--font-mono);font-size:12px;color:var(--color-telemetry)}.brand-typo-body{display:flex;flex-direction:column;gap:16px}.brand-weights-demo{display:flex;flex-direction:column;gap:6px;font-size:15px;letter-spacing:-.01em}@media(min-width:768px){.brand-weights-demo{font-size:17px}}.brand-glyph-box{padding:16px;border:1px solid var(--color-black);background:var(--color-vellum);display:flex;flex-direction:column;gap:8px;font-family:var(--font-mono);font-size:12px;word-break:break-all}.brand-pangram-text{font-size:13.5px;line-height:1.7;color:var(--color-graphite)}@media(min-width:768px){.brand-pangram-text{font-size:15px}}.brand-swatches-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;-webkit-user-select:none;user-select:none}.brand-swatch-cell{border:1px solid var(--color-black);padding:8px 6px;display:flex;flex-direction:column;justify-content:space-between;min-height:90px}@media(min-width:768px){.brand-swatch-cell{padding:12px 10px;min-height:120px}}.brand-swatch-cell-hex{font-family:var(--font-mono);font-size:10px;font-weight:700;opacity:.9;word-break:break-all}.brand-swatch-cell-name{font-size:10.5px;line-height:1.2}.brand-bottom-bar{padding-top:24px;border-top:1px solid var(--color-black);display:flex;flex-direction:column;gap:12px;font-family:var(--font-mono);font-size:12px;color:var(--color-telemetry)}@media(min-width:640px){.brand-bottom-bar{flex-direction:row;justify-content:space-between;align-items:center}}.brand-return-btn{display:inline-flex;align-items:center;gap:8px;background:transparent;border:0;color:var(--color-black);font-family:var(--font-mono);font-size:12px;font-weight:600;cursor:pointer;padding:0}.brand-return-btn:hover{opacity:.6}
