:root{--bg: #fafaf7;--surface: #ffffff;--surface-alt: #f5f3ee;--ink: #1a1a1a;--ink-soft: #6b6b6b;--line: #e8e6e0;--line-strong: #d4d0c4;--accent: #c4602f;--accent-soft: #fdf2e9;--good: #2f7d3a;--warn: #b15a1a;--err: #b03a2e;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 2px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.04);--bubble-mine: var(--accent);--bubble-theirs: #ececec}[data-theme=dark]{--bg: #161513;--surface: #1f1d1a;--surface-alt: #26241f;--ink: #ececea;--ink-soft: #9a978e;--line: #2e2b26;--line-strong: #3a3631;--accent: #e8865a;--accent-soft: #2a1d14;--good: #6cc080;--warn: #d99060;--err: #e07b6f;--shadow: 0 1px 2px rgba(0,0,0,.4), 0 4px 12px rgba(0,0,0,.3);--bubble-mine: var(--accent);--bubble-theirs: #2e2b26}*{box-sizing:border-box}html,body{min-height:100vh}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}body{display:flex;flex-direction:column}#root{display:flex;flex-direction:column;flex:1;min-height:100vh}main{flex:1}.site-footer{margin-top:auto}a{color:var(--ink);text-decoration:none}a:hover{text-decoration:underline}hr{border:0;border-top:1px solid var(--line);margin:16px 0}code{background:var(--accent-soft);padding:1px 6px;border-radius:4px;font-size:.9em;color:var(--accent)}h2{font-weight:700;letter-spacing:-.01em}h3{font-weight:600}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--surface);padding:9px 14px;border-radius:var(--radius);color:var(--ink);transition:background .15s,border-color .15s,transform .12s,opacity .12s}button:hover:not(:disabled){border-color:var(--line-strong)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}button.primary:hover:not(:disabled){background:var(--ink-soft);border-color:var(--ink-soft)}button.accent{background:var(--accent);color:#fff;border-color:var(--accent)}button.accent:hover:not(:disabled){filter:brightness(.93)}button.ghost{background:transparent}button.full{width:100%;margin-top:8px}button.big{padding:12px 20px;font-size:16px;font-weight:500}button.link{background:none;border:none;padding:8px 0;color:var(--ink-soft);text-decoration:underline;font-size:13px}button.chip{padding:8px 14px;border-radius:999px;font-size:14px}button.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}input,textarea,select{font:inherit;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea{resize:vertical;min-height:60px;line-height:1.5}label{display:block;font-size:13px;color:var(--ink-soft);margin-bottom:4px;font-weight:500}.field{margin-bottom:14px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 580px){.field-row{grid-template-columns:1fr}}.check{display:flex;align-items:center;gap:6px;margin:0;cursor:pointer;font-size:14px;color:var(--ink)}.check input{width:auto}.price-row{display:flex;gap:12px;align-items:center}.price-row input{max-width:140px}.muted{color:var(--ink-soft)}.small{font-size:13px}.err{color:var(--err);font-size:14px}.tag{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;margin:6px 0}.tag.good{background:var(--accent-soft);color:var(--good)}.container{max-width:980px;margin:0 auto;padding:0 20px}header.top{border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:10}header.top .container{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;gap:12px;flex-wrap:nowrap}header.top .brand{font-weight:700;font-size:16px;letter-spacing:-.01em;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;min-width:0;overflow:hidden}header.top .brand .school{color:var(--accent);font-weight:500}@media (max-width: 720px){header.top .brand-text{display:none}header.top .brand .school{font-weight:600;color:var(--ink)}}header.top nav{display:flex;gap:4px;align-items:center;flex-wrap:nowrap}.navlink{padding:7px 12px;border-radius:var(--radius);font-size:14px;color:var(--ink-soft);font-weight:500;display:inline-flex;align-items:center;gap:6px;line-height:1.2;white-space:nowrap}.navlink:hover{background:var(--surface-alt);text-decoration:none;color:var(--ink)}.navlink.active{background:var(--accent-soft);color:var(--accent)}.navlink.primary{background:var(--ink);color:var(--bg);font-weight:600}.navlink.primary:hover{background:var(--ink-soft);color:var(--bg)}.navlink.primary.active{background:var(--accent);color:#fff}.nav-plus{font-weight:700;font-size:16px;line-height:1}.ghost-sm{padding:6px 10px;font-size:14px;line-height:1}.badge{background:var(--accent);color:#fff;font-size:11px;padding:1px 7px;border-radius:10px;min-width:18px;display:inline-flex;align-items:center;justify-content:center;font-weight:600}.badge.inline{margin-left:6px}@media (max-width: 720px){header.top .container{padding:10px 14px;gap:6px}.navlink{padding:6px 9px;font-size:13px}.navlink.primary>span:not(.nav-plus){display:none}}main{padding:24px 0 80px}.login-wall{display:flex;justify-content:center;padding:40px 0}.login-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:32px 28px;box-shadow:var(--shadow)}.login-card h2{margin:0 0 6px;font-size:22px}.login-card p.muted{margin:0 0 22px;font-size:14px}.login-card button.link{display:block;margin:8px auto 0}.otp-input{font-size:28px!important;letter-spacing:12px;text-align:center;padding:16px!important;font-variant-numeric:tabular-nums}.hero{text-align:center;padding:56px 20px 24px}.hero h1{font-size:clamp(28px,4vw,42px);margin:0 0 14px;letter-spacing:-.02em;font-weight:700}.hero p{color:var(--ink-soft);max-width:540px;margin:0 auto;font-size:16px;line-height:1.55}.hero-sub{text-align:center;margin:32px 0 8px;font-weight:500}.hero-foot{text-align:center;margin:40px auto 0;max-width:520px;line-height:1.6}.school-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.school-picker a{display:block;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:center;transition:border-color .15s,transform .12s}.school-picker a:hover{text-decoration:none;border-color:var(--accent);transform:translateY(-1px)}.sp-name{font-weight:600;font-size:15px}.sp-cta{margin-top:4px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;align-items:center}.search-form{display:flex;gap:6px;flex:1;max-width:320px;min-width:200px}.search-form input{flex:1}.cat-select{max-width:200px;min-width:140px}.empty{text-align:center;padding:60px 20px;color:var(--ink-soft)}.empty-emoji{font-size:56px;line-height:1;margin-bottom:12px;opacity:.9}.empty p{margin:4px 0}.empty button{margin-top:16px}.empty h2{color:var(--ink);margin:8px 0}.thumb-emoji{font-size:36px;opacity:.85}.thumb-emoji-big{font-size:80px;opacity:.85}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:block;transition:transform .15s,box-shadow .15s,border-color .15s}.card:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow)}.card .thumb{width:100%;aspect-ratio:4 / 3;background:var(--surface-alt);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-size:13px;overflow:hidden;position:relative}.card .thumb img{width:100%;height:100%;object-fit:cover;display:block}.card .body{padding:12px 14px}.card .title{font-weight:600;font-size:14px;margin:0 0 6px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink)}.card .meta{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-soft)}.card .price{color:var(--accent);font-weight:600}.card .price.free{color:var(--good)}.meta-msg{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-soft);display:flex;align-items:center;gap:4px}.overlay-badge{position:absolute;top:8px;left:8px;background:#000000b3;color:#fff;font-size:11px;padding:3px 9px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.overlay-badge.sold{background:#2f7d3ae6}.overlay-badge.hidden{background:#6c6c6ccc}.detail{display:grid;grid-template-columns:1fr 320px;gap:28px;margin-top:8px;align-items:start}@media (max-width: 800px){.detail{grid-template-columns:1fr}}.hero-img{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--surface-alt);aspect-ratio:4 / 3}.hero-img img{width:100%;height:100%;object-fit:contain;display:block;background:var(--surface-alt)}.sold-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;font-size:36px;font-weight:700;letter-spacing:.15em;pointer-events:none}.thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.thumb-btn{width:64px;height:64px;padding:0;border-radius:var(--radius-sm);border:2px solid var(--line);overflow:hidden;background:var(--surface-alt)}.thumb-btn.active{border-color:var(--accent)}.thumb-btn img{width:100%;height:100%;object-fit:cover;display:block}.desc-block{margin-top:28px}.desc-block h3{margin:0 0 8px;font-size:16px;color:var(--ink-soft);font-weight:600}.desc-block .desc{white-space:pre-wrap;margin:0;line-height:1.6}.thumb-big{aspect-ratio:4/3;background:var(--surface-alt);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);border-radius:12px;position:relative}.side .info{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;position:sticky;top:76px}@media (max-width: 800px){.side .info{position:static}}.info-title{margin:0 0 8px;font-size:20px;line-height:1.25}.side .price-big{font-size:28px;font-weight:700;margin:0 0 4px;color:var(--accent)}.side .price-big.free{color:var(--good)}.seller{color:var(--ink);font-size:14px;margin:14px 0 0;line-height:1.6}.seller .pickup{color:var(--ink-soft);font-size:13px;margin-top:4px}.side textarea{margin-bottom:8px}.form-wide{max-width:600px}.file-drop{border:2px dashed var(--line-strong);border-radius:12px;padding:28px 20px;text-align:center;cursor:pointer;background:var(--surface-alt);transition:border-color .15s,background .15s}.file-drop:hover,.file-drop.dragging{border-color:var(--accent);background:var(--accent-soft)}.file-drop-icon{font-size:32px;margin-bottom:6px}.file-drop-text{color:var(--ink);font-size:14px;margin-bottom:4px}.file-drop-link{color:var(--accent);font-weight:600}.uploaded{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;margin-top:12px}.up-item{position:relative;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line)}.up-item img{width:100%;height:100%;object-fit:cover;display:block}.up-x{position:absolute;top:4px;right:4px;width:24px;height:24px;padding:0;border-radius:50%;border:0;background:#000000b3;color:#fff;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}.up-x:hover{background:#000000d9}.profile-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.profile-head h2{margin:0 0 4px}.profile-head p{margin:0}.profile-card .title{-webkit-line-clamp:1}.thread-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.thread-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;transition:border-color .15s,background .15s}.thread-item:hover{text-decoration:none;border-color:var(--line-strong)}.thread-item.has-unread{border-color:var(--accent);background:var(--accent-soft)}.thread-thumb{width:56px;height:56px;border-radius:var(--radius-sm);background:var(--surface-alt);display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden;flex-shrink:0}.thread-thumb img{width:100%;height:100%;object-fit:cover}.thread-meta{flex:1;min-width:0}.thread-top{display:flex;justify-content:space-between;gap:8px}.thread-sub{margin:2px 0}.thread-snippet{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-view{max-width:720px;margin:0 auto;display:flex;flex-direction:column;height:calc(100vh - 130px);min-height:480px;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}@media (max-width: 720px){.thread-view{height:calc(100vh - 110px);border-radius:0;border-left:0;border-right:0;margin:-24px -20px}}.thread-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface-alt);color:var(--ink)}.thread-header:hover{text-decoration:none}.thread-head-meta{min-width:0;flex:1}.thread-head-meta strong{font-size:14px}.thumb-mini{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:18px;overflow:hidden;flex-shrink:0}.thumb-mini img{width:100%;height:100%;object-fit:cover}.thread-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:6px;background:var(--bg)}.msg{max-width:78%;padding:8px 12px;border-radius:16px;position:relative;word-wrap:break-word;font-size:14.5px;line-height:1.4}.msg-body{white-space:pre-wrap}.msg-time{font-size:11px;color:var(--ink-soft);margin-top:4px;text-align:right;display:flex;justify-content:flex-end;align-items:center;gap:4px}.msg.mine{align-self:flex-end;background:var(--bubble-mine);color:#fff;border-bottom-right-radius:5px}.msg.mine .msg-time{color:#ffffffbf}.msg.theirs{align-self:flex-start;background:var(--bubble-theirs);color:var(--ink);border-bottom-left-radius:5px}.msg.pending{opacity:.65}.msg.pending .msg-time{font-style:italic}.tick{font-size:11px;opacity:.8}.tick.read{opacity:1;color:#b4dcff}.thread-locked{padding:14px 16px;background:var(--surface-alt);border-top:1px solid var(--line);text-align:center;color:var(--ink-soft);font-size:14px}.thread-compose{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--surface);align-items:flex-end}.thread-compose textarea{flex:1;min-height:40px;max-height:120px;resize:none;padding:10px 14px;border-radius:20px}.send-btn{width:40px;height:40px;padding:0;border-radius:50%;font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rt{margin-left:4px;vertical-align:middle;color:#ffffffb3;transition:color .2s}.rt.read{color:#5db4ff}.msg.theirs .rt{color:var(--ink-soft)}.profile-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px 18px;margin-bottom:24px;max-width:520px}.profile-field{padding:14px 0;border-bottom:1px solid var(--line)}.profile-field:last-child{border-bottom:0}.profile-field label{margin-bottom:6px}.profile-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.profile-val{font-size:15px;color:var(--ink)}button.danger{background:transparent;color:var(--err);border-color:var(--err)}button.danger:hover:not(:disabled){background:var(--err);color:#fff}.meta-msg-btn{margin-top:8px;width:100%;text-align:left;padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--ink);background:var(--surface-alt);cursor:pointer;display:flex;align-items:center;gap:6px}.meta-msg-btn:hover{border-color:var(--accent);color:var(--accent)}.admin{max-width:100%}.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:8px;flex-wrap:wrap}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.stat-card.highlight{border-color:var(--err)}.stat-value{font-size:24px;font-weight:700;color:var(--ink)}.stat-label{font-size:12px;color:var(--ink-soft);margin-top:2px}.admin-school-table{grid-column:1 / -1;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px;margin-top:8px}.admin-school-table h3{margin:0 0 8px;font-size:14px}.admin-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}.admin-table th,.admin-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.admin-table th{background:var(--surface-alt);font-weight:600;font-size:12px;color:var(--ink-soft)}.admin-table tr:last-child td{border-bottom:0}.admin-table tr.banned{opacity:.55}.admin-table .msg-cell{max-width:380px;white-space:pre-wrap;word-break:break-word}.school-search{max-width:480px;margin:12px auto 24px}.school-search input{padding:14px 18px;font-size:16px;border-radius:12px}section h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-login-screen{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:20px}body.admin-fullscreen header.top{display:none!important}body.admin-fullscreen main{padding:0!important}body.admin-fullscreen main .container{max-width:100%;padding:0}.admin-fs{display:flex;flex-direction:column;min-height:100vh;background:var(--bg)}.admin-bar{display:flex;align-items:center;gap:16px;padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.admin-brand{font-weight:700;white-space:nowrap}.admin-tabs-bar{display:flex;gap:4px;flex:1;flex-wrap:wrap}.admin-tab{background:transparent;border:0;padding:8px 14px;border-radius:8px;color:var(--ink-soft);font-weight:500;cursor:pointer}.admin-tab:hover{background:var(--surface-alt);color:var(--ink)}.admin-tab.active{background:var(--accent-soft);color:var(--accent)}.admin-id{display:flex;align-items:center;gap:12px}.admin-body{padding:20px;max-width:1280px;margin:0 auto;width:100%}.admin-filters{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap;align-items:center}.tag.err-tag{background:#b03a2e1f;color:var(--err)}.link.danger-link{color:var(--err)}.admin-thread-item{width:100%;text-align:left;border:1px solid var(--line);cursor:pointer}.admin-thread-view{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px}.admin-msgs{background:var(--bg);border-radius:10px;padding:16px;min-height:200px}.kind-tabs{display:flex;gap:4px;background:var(--surface-alt);padding:4px;border-radius:12px;margin-bottom:16px;max-width:360px}.kind-tab{flex:1;background:transparent;border:0;padding:8px 14px;border-radius:8px;color:var(--ink-soft);font-weight:500;cursor:pointer;font-size:14px}.kind-tab.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.kind-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.kind-btn{padding:14px 12px;background:var(--surface-alt);border:1px solid var(--line);font-size:14px;cursor:pointer;text-align:center}.kind-btn:hover{border-color:var(--line-strong)}.kind-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}@media (max-width: 580px){.kind-toggle{grid-template-columns:1fr}}.back-link{display:inline-block;margin-bottom:12px}.side .desc{background:var(--surface-alt);padding:12px 14px;border-radius:8px;margin:14px 0;font-size:14px;white-space:pre-wrap;line-height:1.55}.school-picker a:visited,.school-picker a:visited .sp-name{color:var(--ink)}.otp-boxes{display:flex;gap:8px;justify-content:center;margin:8px 0}.otp-box{width:44px;height:56px;text-align:center;font-size:22px;font-weight:600;border:1.5px solid var(--line-strong);border-radius:10px;padding:0;background:var(--surface);color:var(--ink);font-variant-numeric:tabular-nums}.otp-box:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}@media (max-width: 420px){.otp-box{width:36px;height:48px;font-size:18px}}.chip-row{display:flex;gap:4px;background:var(--surface-alt);border-radius:999px;padding:3px}.chip-row .chip{padding:6px 12px;border:0;background:transparent;border-radius:999px;font-size:13px;color:var(--ink-soft)}.chip-row .chip:hover{color:var(--ink)}.chip-row .chip.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.school-search{position:relative}.school-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;max-height:360px;overflow-y:auto;box-shadow:0 8px 32px #00000014;z-index:10}.dropdown-row{width:100%;text-align:left;background:transparent;border:0;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;color:var(--ink);cursor:pointer;transition:background .1s;border-radius:0}.dropdown-row:hover,.dropdown-row.highlight{background:var(--accent-soft)}.dropdown-empty{padding:16px;text-align:center}.dr-name{font-weight:500}.dr-slug{font-family:ui-monospace,monospace}.site-footer{border-top:1px solid var(--line);background:var(--surface);padding:24px 0;margin-top:60px}.footer-row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-row strong{font-size:15px}.footer-row p{margin:4px 0 0}.footer-col{text-align:right;line-height:1.7}@media (max-width: 580px){.footer-col{text-align:left}}.admin-bar{padding:12px 24px;background:linear-gradient(180deg,var(--surface) 0%,var(--surface-alt) 100%)}.admin-brand{font-size:14px;font-weight:600;letter-spacing:-.01em}.admin-tabs-bar{gap:2px}.admin-tab{padding:7px 14px;font-size:13px;border-radius:6px}.school-picker a:active,.school-picker a:focus,.dropdown-row:focus{outline:none;color:var(--ink)}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 16px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink);font-weight:500;font-size:15px;margin-bottom:18px;transition:background .15s,border-color .15s}.google-btn:hover{text-decoration:none;background:var(--surface-alt);border-color:var(--ink-soft)}.divider{text-align:center;margin:14px 0;position:relative}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:35%;height:1px;background:var(--line)}.divider:before{left:0}.divider:after{right:0}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;padding:8px 0}.footer-grid h4{font-size:13px;font-weight:600;color:var(--ink);margin:0 0 10px;letter-spacing:.02em}.footer-grid ul{list-style:none;padding:0;margin:0;font-size:13px;color:var(--ink-soft);line-height:1.65}.footer-grid li:before{content:"— ";color:var(--accent)}.footer-bottom{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.site-footer{padding:36px 0 28px}.tw-wrap{display:inline-block;position:relative}.tw-caret{display:inline-block;margin-left:2px;color:var(--accent);font-weight:400;animation:caretBlink .85s step-end infinite}@keyframes caretBlink{0%,50%{opacity:1}51%,to{opacity:0}}@media (prefers-reduced-motion: reduce){.tw-caret{display:none}}main{padding:24px 0 60px}.hero{padding:64px 20px 28px}.hero h1{margin-bottom:16px;font-size:clamp(26px,3.8vw,40px);min-height:1.4em}.hero-p{font-size:15px;line-height:1.55}.school-search{margin:12px auto 18px}.hero-foot{margin:32px auto 0;line-height:1.6}.toolbar{margin-bottom:14px}.grid{gap:14px}.card .body{padding:10px 12px}.field{margin-bottom:12px}.profile-card{padding:6px 16px;margin-bottom:18px}.profile-field{padding:11px 0}.thread-list{margin-top:12px}.thread-item{padding:10px 12px}.empty{padding:44px 20px}.site-footer{padding:28px 0 22px;margin-top:48px}.footer-grid{gap:22px}@media (max-width: 720px){.container{padding:0 14px}main{padding:14px 0 30px}.hero{padding:28px 8px 16px}.hero p,.hero-p{font-size:14px}.hero-foot{font-size:12px;margin:20px auto 0}.school-search{margin:10px auto 14px}.school-search input{padding:11px 14px;font-size:16px}.school-dropdown{max-height:50vh}.grid{grid-template-columns:repeat(2,1fr);gap:10px}.card .body{padding:8px 10px}.card .title{font-size:13px}.card .meta{font-size:11px}.thumb-emoji{font-size:28px}.login-card{padding:24px 20px;border-radius:12px}.login-card h2{font-size:20px}.otp-boxes{gap:6px}.otp-box{width:38px;height:50px;font-size:20px}.detail{gap:18px}.side .info{padding:16px}.info-title{font-size:18px}.side .price-big{font-size:24px}.form-wide{max-width:100%}.kind-toggle{grid-template-columns:1fr;gap:6px}.kind-btn{padding:12px}.thread-thumb{width:48px;height:48px}.thread-snippet{font-size:12px}.thread-list{gap:6px}label{font-size:12px}input,textarea,select{padding:10px 12px;font-size:16px}.profile-head{gap:10px}.profile-row{flex-direction:row;gap:8px}.toolbar{gap:6px}.search-form{min-width:100%;max-width:100%}.cat-select{max-width:100%;flex:1}.chip-row{flex:1;justify-content:stretch}.chip-row .chip{flex:1;text-align:center}.admin-table{font-size:12px}.admin-body{padding:14px;overflow-x:auto}.admin-table{min-width:600px}.site-footer{display:none}}@media (max-width: 380px){.grid{grid-template-columns:1fr}.hero h1{font-size:22px;min-height:1.3em}.school-picker{grid-template-columns:1fr}}
