@font-face{font-family:'Sora';src:url(/assets/sora_400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Sora';src:url(/assets/sora_700.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Sora';src:url(/assets/sora_800.woff2) format('woff2');font-weight:800;font-display:swap}

:root{
  --ink:#0A0B10; --bone:#EEF0F4; --red:#FF453A; --amber:#FFB03A; --gray:#A2AABC; --dim:#828A9C;
  --desk:#0A0B10; --paper:#12141B; --panel:#171A23; --line:rgba(230,236,250,.1);
  --border:#262B38; --hover:rgba(230,236,250,.05); --sel:#1B1F2B;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{color-scheme:dark;background-color:var(--desk)}
.os-bgfx{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none}
@media (prefers-reduced-motion:reduce){.os-bgfx{display:none}
  body{background-image:radial-gradient(rgba(242,242,240,.05) 1px,transparent 1.5px);background-size:20px 20px}}
body{font-family:'Sora',-apple-system,'Segoe UI',sans-serif;color:var(--bone);background-color:transparent;
  min-height:100vh;padding-bottom:44px;line-height:1.5;overflow-x:clip}
a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.red{font-style:normal;color:var(--red)}

/* menu bar */
.os-menubar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding:10px 22px;background:rgba(10,11,16,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.os-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--bone)}
.os-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;
  background:#131316;color:var(--bone);border:1px solid rgba(242,242,240,.28);font-weight:800;font-size:15px;line-height:1}
.os-word{font-weight:800;font-size:18px;letter-spacing:-.02em}
.os-menu{display:flex;gap:2px;margin-left:auto;flex-wrap:wrap}
.os-menu a{color:var(--gray);text-decoration:none;font-weight:700;font-size:13px;padding:12px 14px;border-radius:8px;display:inline-flex;align-items:center;gap:7px}
.os-menu a svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.os-menu a:hover,.os-menu a.is-here{color:var(--bone);background:var(--hover)}
.os-clock{font-size:12px;font-weight:700;color:var(--dim);letter-spacing:.08em;white-space:nowrap}

/* window chrome */
.os-window{width:calc(100% - 28px);max-width:1060px;margin:26px auto;background:var(--paper);
  border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.5);overflow:hidden}
.os-titlebar{display:flex;align-items:center;gap:14px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border)}
.os-dots{display:flex;gap:6px;flex:none}
.os-dots i{width:12px;height:12px;border-radius:50%;position:relative;cursor:pointer}
.os-dots i::after{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:800;color:rgba(10,10,12,.68);line-height:1}
.os-dots i:nth-child(1){background:#FF5F57}.os-dots i:nth-child(1)::after{content:"×"}
.os-dots i:nth-child(2){background:#FEBC2E}.os-dots i:nth-child(2)::after{content:"−"}
.os-dots i:nth-child(3){background:#28C840}.os-dots i:nth-child(3)::after{content:"+"}
.os-dots i:hover{filter:brightness(1.15)}
.os-title{flex:1 1 auto;min-width:0;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-tbright{flex:none;margin-left:auto;font-size:11px;color:var(--dim);letter-spacing:.06em;white-space:nowrap}

/* mail grid */
.os-app{display:grid;grid-template-columns:200px 292px minmax(0,1fr);min-height:440px}
.os-side{background:var(--panel);border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:2px}
.os-sidelabel{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);padding:0 8px 8px}
.os-folder{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;border-radius:8px;
  text-decoration:none;color:var(--bone);font-size:13.5px}
.os-folder b{font-size:11.5px;font-weight:700;color:var(--dim)}
.os-folder:hover{background:var(--hover)}
.os-folder.is-on{background:var(--bone);color:var(--ink)}
.os-folder.is-on b{color:var(--ink)}
.os-meter{margin-top:auto;padding:14px 8px 4px}
.os-meter p{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-bottom:6px}
.os-meterbar{display:block;height:5px;border-radius:99px;background:rgba(242,242,240,.12);overflow:hidden}
.os-meterbar i{display:block;height:100%;width:9%;background:var(--amber);border-radius:99px}

/* message list */
.os-list{min-width:0;border-right:1px solid var(--line);display:flex;flex-direction:column}
.os-listhead{display:flex;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);
  font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.os-row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:10px;align-items:start;padding:14px 16px;
  border-bottom:1px solid var(--line);text-decoration:none;color:var(--bone)}
.os-row:hover{background:var(--hover)}
.os-row.is-on{background:var(--sel)}
.os-row.is-soon{opacity:.55}
.os-dot{width:9px;height:9px;border-radius:50%;background:var(--red);margin-top:5px}
.os-row.is-soon .os-dot{background:rgba(242,242,240,.16)}
.os-rowmain{min-width:0}
.os-rowmain b{display:block;font-size:14px;font-weight:800;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-rowmain em{display:block;font-style:normal;font-size:12.5px;color:var(--gray);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-rowmeta{text-align:right;font-size:11px;font-weight:700;color:var(--dim);line-height:1.6;white-space:nowrap}

/* reading pane */
.os-pane{min-width:0;padding:24px 26px 28px;display:flex;flex-direction:column;gap:18px}
.os-panelabel{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.os-h1{font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-top:-8px}
.os-meta{display:grid;gap:6px;border-bottom:1px solid var(--line);padding-bottom:16px}
.os-metarow{display:flex;gap:10px;font-size:13px;flex-wrap:wrap}
.os-metarow b{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);min-width:72px;padding-top:2px}
.os-metarow span{word-break:break-word}

/* player */
.os-player{background:#05060A;border:1px solid var(--border);border-radius:10px;padding:18px 20px;display:flex;align-items:center;gap:16px;color:var(--bone)}
.os-play{width:52px;height:52px;flex:none;border-radius:50%;background:var(--red);border:0;display:flex;align-items:center;justify-content:center;cursor:pointer}
.os-play:hover{background:#FF5D53}
.os-play .tri{display:block;width:15px;height:18px;background:var(--bone);clip-path:polygon(0 0,100% 50%,0 100%);margin-left:4px}
.os-play .pause{display:none;width:14px;height:18px;background:linear-gradient(90deg,var(--bone) 0 5px,transparent 5px 9px,var(--bone) 9px 14px)}
.os-play.is-playing .tri{display:none}
.os-play.is-playing .pause{display:block}
.os-wave{flex:1;min-width:0;height:54px;display:flex;align-items:center;gap:2px;cursor:pointer}
.os-wave .wbar{flex:1 1 0;min-width:1.5px;max-width:9px;display:flex;flex-direction:column;justify-content:center;gap:1.5px}
.os-wave .wbar i{display:block;border-radius:2px;background:rgba(238,240,244,.34);min-height:2px}
.os-wave .wbar i:last-child{opacity:.38}
.os-wave .wbar.is-past i{background:var(--red)}
.os-time{font-size:13px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.os-time span{color:rgba(242,242,240,.5);font-weight:400}
.os-nowline{font-size:12.5px;color:var(--gray);margin-top:-8px}

/* captions / transcript */
.os-caption{border:1px solid var(--border);border-radius:10px;padding:18px 20px;background:var(--panel)}
.os-caption b{display:block;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:9px}
.os-quote{font-size:clamp(17px,2.3vw,24px);font-weight:800;line-height:1.3;letter-spacing:-.01em;text-transform:uppercase;min-height:2.6em}
.os-transcript{border:1px solid var(--border);border-radius:10px;padding:18px 20px;background:var(--panel);max-height:320px;overflow-y:auto}
.os-transcript b{display:block;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:9px}
.os-words{font-size:15.5px;font-weight:700;line-height:1.9;letter-spacing:-.01em;color:var(--gray)}
.os-words span{cursor:pointer;border-radius:3px;padding:1px 2px}
.os-words span:hover{color:var(--bone)}
.os-words span.is-now{color:var(--ink);background:var(--red)}
.os-words span.is-past{color:var(--bone)}
.os-words span.is-bleep,.os-words span.is-bleep.is-past{color:var(--red)}
.os-words span.is-bleep.is-now{color:var(--ink)}
.os-quote em.blp{color:var(--red);font-style:normal}

/* vote */
.os-voterow{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.os-vote{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--bone);border-radius:999px;padding:9px 17px;
  background:none;text-decoration:none;color:var(--bone);font-weight:800;font-size:15px;cursor:pointer;font-family:inherit;min-height:44px}
.os-vote:hover{background:var(--bone);color:var(--ink)}
.os-vote.is-voted{border-color:var(--red);color:var(--red);pointer-events:none}
.os-vote i{font-style:normal;font-size:12px}
.os-votenote{font-size:13px;color:var(--gray)}

/* leaderboard */
.os-rank{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 20px;
  border-bottom:1px solid var(--line);text-decoration:none;color:var(--bone)}
.os-rank:hover{background:var(--hover)}
.os-rank.is-top{background:var(--sel)}
.os-rank.is-soon{opacity:.5}
.os-rank>b{font-size:18px;font-weight:800;letter-spacing:-.02em}
.os-rankmain{display:flex;gap:6px 14px;align-items:baseline;flex-wrap:wrap;min-width:0}
.os-rankcall{font-size:13.5px;font-weight:700}
.os-rankname{font-size:13.5px;color:var(--gray)}
.os-rankvotes{font-size:14px;font-weight:800;white-space:nowrap}
.os-rank.is-top .os-rankvotes{color:var(--red)}
.os-boardfoot{padding:12px 20px;font-size:12.5px;color:var(--gray);background:var(--panel);border-top:1px solid var(--line)}

/* compose / submit */
.os-cbody{padding:20px 24px 26px}
.os-cfield{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:9px 2px;font-size:13.5px}
.os-cfield b{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);min-width:72px}
.os-cfield span{word-break:break-word}
.os-chl{font-size:clamp(20px,3.4vw,30px);font-weight:800;letter-spacing:-.02em;line-height:1.22;margin:22px 0 18px;max-width:660px}
.os-drop{border:2px dashed rgba(242,242,240,.3);border-radius:10px;padding:34px 20px;text-align:center;background:rgba(242,242,240,.03);cursor:pointer}
.os-drop:hover,.os-drop.is-over{border-color:var(--bone);background:rgba(242,242,240,.06)}
.os-drop .os-dropicon{display:flex;align-items:center;justify-content:center;width:50px;height:50px;margin:0 auto 14px;border:1.5px solid rgba(242,242,240,.45);border-radius:13px;color:var(--bone);font-size:0}
.os-drop b{display:block;font-size:15px;font-weight:700}
.os-drop .os-dropicon svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.os-drop span{display:block;font-size:12px;color:var(--dim);margin-top:5px}
.os-textarea{width:100%;margin-top:16px;border:1px solid var(--border);border-radius:9px;background:var(--panel);
  padding:12px 14px;font-family:inherit;font-size:14px;color:var(--bone);min-height:84px;resize:vertical}
.os-textarea::placeholder{color:var(--dim)}
.os-cfoot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px}
.os-btn{display:inline-flex;align-items:center;font-weight:800;font-size:14.5px;padding:12px 20px;border-radius:9px;
  border:0;text-decoration:none;cursor:pointer;font-family:inherit}
.os-btnred{background:var(--red);color:#fff}
.os-btnred:hover{background:#FF5D53}
.os-btnghost{background:none;border:1px solid var(--border);color:var(--bone)}
.os-btnghost:hover{border-color:var(--bone)}
.os-cfootnote{font-size:13px;color:var(--gray)}

/* dialog (email capture) */
.os-dialog{max-width:480px}
.os-dbody{padding:20px 22px 24px}
.os-dlgrow{display:flex;gap:12px;align-items:flex-start}
.os-badge{flex:none;min-width:24px;height:24px;border-radius:50%;background:var(--red);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;margin-top:1px}
.os-dlghl{font-size:18px;font-weight:800;letter-spacing:-.01em}
.os-dlgsub{font-size:12.5px;color:var(--gray);margin-top:4px}
.os-dlgform{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.os-input{flex:1 1 200px;min-width:0;border:1px solid var(--border);border-radius:9px;background:var(--panel);padding:11px 13px;font-family:inherit;font-size:14px;color:var(--bone)}
.os-input::placeholder{color:var(--dim)}
.os-input:focus{outline:none;border-color:var(--bone)}
.os-dlgnote{font-size:13px;color:var(--gray);margin-top:11px}

/* status bar */
.os-statusbar{width:calc(100% - 28px);max-width:1060px;margin:30px auto 0;background:var(--panel);border:1px solid var(--border);
  color:var(--gray);border-radius:10px;padding:13px 18px;display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap;font-size:12.5px}
.os-statusbar a{color:var(--bone);text-decoration:none}
.os-statusbar a:hover{color:var(--red)}
.os-rec{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--bone)}
.os-rec i{width:8px;height:8px;border-radius:50%;background:var(--red)}
.os-statR{margin-left:auto;display:inline-flex;align-items:center;gap:10px}
.os-statR .os-statmail{color:inherit;text-decoration:none}
.os-statxt::before{content:"· "}
.os-statR .os-statmail:hover{color:var(--bone)}

@media (max-width:560px){
  .os-tbright{display:none}
}
@media (max-width:880px){
  .os-app{grid-template-columns:minmax(0,1fr)}
  .os-side{flex-direction:row;align-items:center;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}
  .os-sidelabel{display:none}
  .os-meter{display:none}
  .os-list{border-right:0;border-bottom:1px solid var(--line)}
  .os-row.is-soon{display:none}
}

@keyframes os-pulse{0%{transform:scale(1)}45%{transform:scale(1.35)}100%{transform:scale(1)}}
.os-vote [data-count].is-bump{display:inline-block;animation:os-pulse .35s ease}
@media (prefers-reduced-motion: reduce){
  .os-vote [data-count].is-bump{animation:none}
}

/* invisible tap-area extension for inline text links */
.os-statusbar a,.os-boardfoot a{padding:14px 6px;margin:-14px -6px;border-radius:8px}

/* ============ ALIVE PASS ============ */
::selection{background:var(--red);color:var(--ink)}

/* window entry cascade */
@keyframes os-winIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
.os-window,.os-statusbar{animation:os-winIn .55s cubic-bezier(.2,.7,.3,1) backwards}
.os-window:nth-of-type(1){animation-delay:.06s}
.os-window:nth-of-type(2){animation-delay:.16s}
.os-window:nth-of-type(3){animation-delay:.26s}
.os-window:nth-of-type(4){animation-delay:.36s}
.os-statusbar{animation-delay:.46s}

/* micro-interactions */
.os-row,.os-folder,.os-rank,.os-menu a{transition:background .16s ease,color .16s ease,transform .16s ease}
.os-row:hover{transform:translateX(3px)}
.os-rank:hover{transform:translateX(3px)}
.os-btn,.os-vote{transition:transform .12s ease,background .16s ease,border-color .16s ease,color .16s ease}
.os-btn:active,.os-vote:active,.os-folder:active{transform:scale(.96)}
.os-play{transition:transform .14s ease,background .16s ease}
.os-play:hover{transform:scale(1.08)}
@keyframes os-ring{from{box-shadow:0 0 0 0 rgba(255,69,58,.45)}to{box-shadow:0 0 0 18px rgba(255,69,58,0)}}
.os-play.is-playing{animation:os-ring 1.6s ease-out infinite}
@keyframes os-blink{0%,100%{opacity:1}50%{opacity:.25}}
.os-rec i{animation:os-blink 1.9s ease infinite}
.os-row .os-dot{animation:os-blink 2.6s ease infinite}
.os-row.is-soon .os-dot{animation:none}
@keyframes os-capIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
.os-quote.flash{animation:os-capIn .2s cubic-bezier(.2,.8,.3,1)}
.os-quote{transform-origin:left center}
.os-drop{transition:border-color .18s ease,background .18s ease,transform .18s ease}
.os-drop:hover{transform:translateY(-2px)}
.os-input,.os-textarea{transition:border-color .16s ease}
@keyframes os-shake{20%{transform:translateX(-6px)}45%{transform:translateX(5px)}70%{transform:translateX(-3px)}90%{transform:translateX(2px)}}
.os-window.is-shake{animation:os-shake .32s ease}
.os-dots i{transition:background .15s ease,border-color .15s ease;cursor:pointer}

/* folder views (in-place switching) */
.os-view{display:none}
.os-list .os-view.is-active{display:block}
.os-pane .os-view.is-active{display:flex;flex-direction:column;gap:18px}
@keyframes os-viewIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.os-view.v-anim{animation:os-viewIn .24s ease}
.os-view[data-view-list="spam"]{max-height:432px;overflow-y:auto;display:none}
.os-view[data-view-list="spam"].is-active{display:block}
.os-empty{padding:46px 24px;text-align:center}
.os-empty .big{font-size:58px;font-weight:800;letter-spacing:-.03em;line-height:1}
.os-empty p{color:var(--gray);font-size:14px;margin-top:10px;max-width:34ch;margin-left:auto;margin-right:auto}
.os-empty .os-btn{margin-top:20px}

/* toast */
.os-toast{position:fixed;right:18px;bottom:18px;z-index:99;background:var(--panel);border:1px solid var(--border);
  border-radius:12px;padding:13px 16px 13px 14px;display:flex;gap:11px;align-items:flex-start;max-width:330px;
  box-shadow:0 14px 34px rgba(0,0,0,.55);transform:translateY(130%);transition:transform .38s cubic-bezier(.2,.7,.3,1);cursor:pointer}
.os-toast.is-in{transform:none}
.os-toast .tdot{width:9px;height:9px;border-radius:50%;background:var(--red);margin-top:5px;flex:none;animation:os-blink 1.6s ease infinite}
.os-toast b{display:block;font-size:13px}
.os-toast span{display:block;font-size:12px;color:var(--gray);margin-top:2px}

/* social row */
.os-social{display:flex;gap:2px;align-items:center}
.os-social a{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:9px;color:var(--gray);transition:color .15s ease,background .15s ease,transform .12s ease}
.os-social a:hover{color:var(--bone);background:var(--hover)}
.os-social a:active{transform:scale(.92)}
.os-social a.is-soon{opacity:.5;filter:saturate(.55)}
.os-social a.is-soon:hover{color:var(--gray);background:none;cursor:default}
.os-social svg{width:19px;height:19px}

@media (prefers-reduced-motion:reduce){
  .os-window,.os-statusbar,.os-rec i,.os-row .os-dot,.os-play.is-playing,.os-quote.flash,.os-view.v-anim,.os-toast{animation:none;transition:none}
  .os-row:hover,.os-rank:hover,.os-play:hover,.os-drop:hover{transform:none}
}

/* Ember x Midnight secondary accent */
.acc2,.os-folder b.acc2,.os-rowmain b .acc2{color:var(--amber)}
.os-mark{background:#171A23}

.os-copyline{max-width:1060px;margin:10px auto 0;padding:0 20px;text-align:center;font-size:11px;color:var(--dim)}

/* ===== V2 ROLLOUT: macOS Mail language ===== */
:root{--blue:#0A84FF;--bluedeep:#0A5FD7}
.os-play{background:var(--blue)}
.os-play:hover{background:#2E96FF}
.os-wave .wbar.is-past i{background:var(--blue)}
.os-folder.is-on{background:rgba(10,132,255,.22);color:#fff}
.os-folder.is-on b{color:#9EC7FF}
.os-folder svg{width:15px;height:15px;fill:none;stroke:var(--blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-right:2px}
.os-folder{gap:8px;justify-content:flex-start}
.os-folder b{margin-left:auto}
.os-row.is-on{background:var(--bluedeep);box-shadow:none}
.os-row.is-on .os-rowmain b,.os-row.is-on .os-rowmain em{color:#fff}
.os-row.is-on .os-rowmeta{color:rgba(255,255,255,.75)}
.os-row .os-dot{background:var(--blue)}
.os-row.is-on .os-dot{background:#fff}
.os-search{margin-left:auto;display:flex;align-items:center;gap:7px;background:rgba(0,0,0,.25);border:1px solid var(--border);
  border-radius:8px;padding:6px 11px;font-size:12px;color:var(--dim);min-width:200px;cursor:pointer}
.os-search svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.os-toolrow{display:flex;align-items:center;gap:2px;padding:7px 12px;background:var(--panel);border-bottom:1px solid var(--border)}
.os-tbtn{display:inline-flex;align-items:center;gap:7px;color:var(--gray);font-size:12px;font-weight:700;padding:8px 11px;border-radius:8px;cursor:pointer;background:none;border:0;font-family:inherit}
.os-tbtn:hover{background:var(--hover);color:var(--bone)}
.os-tbtn.blue{color:var(--blue)}
.os-tbtn.redt{color:var(--red)}
.os-tbtn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.os-tsep{width:1px;height:20px;background:var(--border);margin:0 7px}
.os-typechip{display:inline-flex;align-items:center;gap:5px;font-size:9.5px;font-weight:800;letter-spacing:.08em;color:var(--gray);
  border:1px solid var(--border);border-radius:5px;padding:2px 7px;margin-top:6px}
.os-typechip svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.os-row.is-on .os-typechip{color:#fff;border-color:rgba(255,255,255,.4)}
.os-share{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-size:12.5px;font-weight:700;cursor:pointer;background:none;border:0;font-family:inherit;padding:8px 11px;border-radius:8px}
.os-share:hover{background:var(--hover)}
.os-share svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.os-hero{max-width:1060px;margin:30px auto 0;padding:0 20px;text-align:center}
.os-hero h1{font-size:clamp(22px,3.2vw,31px);font-weight:800;letter-spacing:-.02em;margin:0}
.os-hero h1 i{font-style:normal;color:var(--red)}
.os-hero p{color:var(--gray);font-size:14px;margin:7px 0 0}
.os-troph{width:20px;height:20px;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.t-dia{stroke:#8FD8FF}.t-gold{stroke:#FFD34D}.t-silver{stroke:#C9CFDB}.t-bronze{stroke:#C98A4B}
.os-rank .rk{display:flex;align-items:center;gap:8px;font-weight:800;font-size:16px}
.os-empty .os-btn{margin-top:18px}

.os-cfoot-center{flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}

/* ============ MOBILE: iOS-mail mode (web untouched above 700px) ============ */
@media (max-width:700px){
  .os-menubar{background:var(--ink);flex-wrap:nowrap;gap:6px;padding:0 10px}
  .os-brand .os-word{display:none}
  .os-menu{flex-wrap:nowrap;gap:2px;margin-left:auto}
  .os-menu a{font-size:11.5px;padding:10px 8px;gap:5px;white-space:nowrap}
  .os-menu a svg{width:13px;height:13px}
  .os-clock{display:none}
  .os-toolrow{display:none}
  .os-search{display:none}
  .os-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .os-bgfx{display:none}
  .os-side{flex-wrap:nowrap;padding:10px 34px 10px 10px;gap:6px;-webkit-overflow-scrolling:touch;
    mask-image:linear-gradient(90deg,#000 calc(100% - 52px),rgba(0,0,0,.3));
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 52px),rgba(0,0,0,.3))}
  .os-folder{flex:0 0 auto;min-height:40px}
  .os-pane{display:none}
  body.m-open .os-pane{display:flex;position:fixed;z-index:60;inset:0;background:var(--paper);overflow-y:auto;padding:14px 16px calc(env(safe-area-inset-bottom) + 90px)}
  body.m-open{overflow:hidden}
  .m-backbar{display:none}
  body.m-open .m-backbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;margin:-14px -16px 4px;padding:6px 8px;background:var(--paper);border-bottom:1px solid var(--line)}
  .m-backbar button{background:none;border:0;color:var(--blue);font:inherit;font-weight:700;font-size:15px;display:flex;align-items:center;gap:4px;padding:10px 12px;cursor:pointer}
  .os-list .os-row{padding:15px 30px 15px 14px;position:relative}
  .os-list .os-row.is-on{background:transparent}
  .os-list .os-row.is-on .os-rowmain b,.os-list .os-row.is-on .os-rowmain em{color:inherit}
  .os-list [data-view-list="calls"] .os-row:not(.is-soon){grid-template-columns:36px minmax(0,1fr) auto}
  .os-list [data-view-list="calls"] .os-row:not(.is-soon) .os-dot{width:36px;height:36px;margin-top:2px;background:var(--blue);display:flex;align-items:center;justify-content:center}
  .os-list [data-view-list="calls"] .os-row:not(.is-soon) .os-dot::after{content:"";width:13px;height:15px;background:#fff;clip-path:polygon(0 0,100% 50%,0 100%);-webkit-clip-path:polygon(0 0,100% 50%,0 100%);margin-left:3px}
  .os-list .os-row::after{content:"›";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--dim);font-size:19px}
  .os-app{min-height:0}
  .os-statusbar{flex-direction:column;align-items:flex-start;gap:10px}
  .os-statR{margin-left:0;flex-wrap:wrap;row-gap:3px}
  .os-statxt::before{content:""}
  .os-folder{padding:8px 10px;font-size:12px}
  .os-metarow{display:flex;gap:10px}
  .os-metarow b{flex:0 0 56px}
  .os-metarow span{min-width:0}
  .os-player{overflow:hidden;gap:10px;padding:14px}
  .os-wave{min-width:0;overflow:hidden;gap:1px}
  .os-wave .wbar{min-width:1px;max-width:4px}
  .os-time{flex:none;font-size:12px}
  body{padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 48px)}
  /* critique round: sizes/margins/spacing */
  .os-menubar{min-height:54px}
  .os-menu{gap:6px}
  .os-menu a{padding:14px 9px;min-height:44px}
  .os-rank{grid-template-columns:44px minmax(0,1fr) auto;gap:8px;padding:14px 14px}
  .os-rank .rk{font-size:12px}
  .os-troph{width:15px;height:15px}
  .os-social a{width:44px;height:44px}
  .os-social svg{width:23px;height:23px}
  .os-cfield{flex-direction:column;align-items:stretch;gap:6px;padding:12px 2px}
  .os-cfield b{flex:none}
  .os-cfield .os-input{width:100%;flex:0 0 46px !important;height:46px}
  .os-drop{padding:32px 16px}
  .os-meta{gap:14px;padding-bottom:20px}
  .os-metarow{flex-direction:column;gap:4px}
  .os-metarow b{flex:none}
  body.m-open .os-pane{gap:24px}
  .os-side{padding-left:16px}
  .os-vote{min-height:44px}
  .os-dlgrow{display:block}
  .os-dlgrow .os-badge{float:left;margin:2px 12px 6px 0}
}

/* submission feedback states (all widths) */
.fb-ok{color:var(--blue) !important}
.fb-err{color:var(--red) !important}
