:root{--night:#13112b;--night-2:#1c193d;--night-3:#26224d;--line:#2f2a5c;--ink:#f0efff;--mute:#b0add6;--dim:#8f8bbe;--miku:#39c5bb;--miku-ink:#04201d;--sakura:#ff7ab8;--sakura-ink:#2b0618;--ok:#57d982;--warn:#ff9f43;--bad:#f25f5c;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-pop:cubic-bezier(.3, 1.7, .5, 1);--nav-h:86px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--night);color:var(--ink);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;background-image:linear-gradient(90deg,#0000 25%,#161433 25% 50%,#161433 50% 75%,#0000 75%);background-attachment:fixed;margin:0;font:500 15px/1.4 "Exo 2",system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--miku)}h1{letter-spacing:-.01em;margin:0;font-size:24px;font-weight:800;line-height:1.15}h2{color:var(--mute);margin:0;font-size:15px;font-weight:700}p{margin:0}:focus-visible{outline:2px solid var(--sakura);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.page{max-width:560px;padding:calc(16px + env(safe-area-inset-top)) 14px calc(var(--nav-h) + 24px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex}.page.detail{padding-bottom:0}.page-head{flex-direction:column;gap:6px;padding-top:6px;display:flex}.row{align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.muted{color:var(--mute)}.dim{color:var(--dim)}.small{font-size:13px}.strong{font-weight:700}.center{text-align:center;padding:40px 0}.error{color:var(--bad)}.ok{color:var(--ok);font-weight:700}.warn{color:var(--warn);font-weight:700}.hint{color:var(--dim);font-size:13px}.logo{color:var(--miku);letter-spacing:-1px;font-size:28px;font-style:italic;font-weight:900;line-height:1}.logo span{color:var(--sakura)}.logo.big{font-size:48px}.btn{white-space:nowrap;border:0;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 16px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex}.btn.wide{flex:2}.btn.narrow{flex:none;min-height:40px;padding:0 12px;font-size:14px}.btn.sakura{background:var(--sakura);color:var(--sakura-ink)}.btn.miku{background:var(--miku);color:var(--miku-ink)}.btn.ghost{border:1.5px solid var(--line);color:var(--ink);background:0 0}.btn:disabled{opacity:.5;cursor:default}.link{color:var(--mute);text-underline-offset:3px;background:0 0;border:0;align-self:flex-start;padding:8px 0;text-decoration:underline}.link.danger{color:var(--bad)}.actions{gap:8px;display:flex}.actions.sticky{z-index:5;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--night) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);margin:6px -14px 0;position:sticky;bottom:0}.field{border:1.5px solid var(--line);background:var(--night-2);border-radius:12px;width:100%;min-width:0;padding:12px 14px;font-size:16px}.field::placeholder{color:var(--dim)}.field:focus{border-color:var(--miku);outline:none}textarea.field{resize:vertical;line-height:1.45}select.field{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--mute) 50%), linear-gradient(135deg, var(--mute) 50%, transparent 50%);background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px}.field-group{flex-direction:column;gap:6px;display:flex}.field-group>label,.field-group>.label{font-weight:700}.segmented{background:var(--night-2);border-radius:12px;gap:4px;padding:4px;display:flex}.segmented button{color:var(--mute);background:0 0;border:0;border-radius:9px;flex:1;padding:9px 6px;font-size:14px;font-weight:700}.segmented button[aria-pressed=true]{background:var(--miku);color:var(--miku-ink)}.chips{scrollbar-width:none;gap:6px;margin:0 -14px;padding:2px 14px;display:flex;overflow-x:auto}.chip{border:1.5px solid var(--line);color:var(--mute);background:0 0;border-radius:999px;flex:none;padding:8px 12px;font-size:14px;font-weight:700}.chip[aria-pressed=true]{border-color:var(--sakura);color:var(--ink);background:#3a1a35}.chip-n{color:var(--sakura);margin-left:2px}.login{flex-direction:column;gap:10px;max-width:340px;margin:26vh auto 0;padding:0 20px;display:flex}.login .logo{margin-bottom:18px}.login label{color:var(--mute);font-weight:700}.login .btn{flex:none;margin-top:6px}.keys{z-index:10;max-width:560px;padding:12px 10px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--night) 90%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.keys:before{content:"";background:var(--miku);height:3px;box-shadow:0 0 14px var(--miku);border-radius:2px;position:absolute;top:0;left:10px;right:10px}.key{color:var(--mute);flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.cap{border:2px solid var(--miku);width:54px;height:34px;color:var(--ink);border-radius:10px;justify-content:center;align-items:center;transition:transform .12s,background .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.key:nth-child(2) .cap,.key:nth-child(3) .cap{border-color:var(--sakura)}.key.plus .cap{background:var(--sakura);color:var(--sakura-ink);border-color:var(--sakura)}.key.on{color:var(--ink)}.key.on .cap{background:var(--miku);box-shadow:0 0 16px var(--miku)}.key.on:nth-child(2) .cap,.key.on:nth-child(3) .cap{background:var(--sakura);box-shadow:0 0 16px var(--sakura);color:var(--sakura-ink)}.key:active .cap{filter:brightness(1.3);transform:scale(.9)translateY(2px)}.badge{background:var(--sakura);min-width:20px;height:20px;color:var(--sakura-ink);text-align:center;border-radius:10px;padding:0 5px;font-size:11px;font-weight:900;line-height:20px;position:absolute;top:-9px;right:-10px}.feed-head{align-items:center;gap:12px;display:flex}.empty{background:var(--night-2);border-radius:16px;flex-direction:column;gap:12px;padding:22px 18px;display:flex}.empty>p:first-child{font-size:18px;font-weight:800}.feed{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.feed .day{color:var(--mute);padding:10px 2px 2px;font-size:14px;font-weight:800}.feed .day:first-letter{text-transform:uppercase}.listing{background:var(--night-2);border:1.5px solid var(--night-2);border-radius:14px}.listing.open{border-color:var(--miku);background:#211e47}.feed-row{text-align:left;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.thumb{object-fit:cover;background:var(--night-3);border-radius:10px;flex:none;width:56px;height:56px}.striped{background:repeating-linear-gradient(135deg,#24204a 0 7px,#1e1b40 7px 14px)}.title{white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-size:15px;font-weight:700;text-decoration:none;display:block;overflow:hidden}.meta{color:var(--mute);white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.meta.dim{color:var(--dim)}.kept{color:var(--miku);font-weight:800}.right{flex-direction:column;flex:none;align-items:flex-end;gap:1px;min-width:70px;display:flex}.judge{letter-spacing:-.01em;font-size:17px;font-style:italic;font-weight:900;display:inline-block}.judge.none{color:var(--dim)}.price{font-size:15px;font-weight:800}.expand{transition:grid-template-rows .32s var(--ease-out);grid-template-rows:0fr;display:grid}.listing.open .expand{grid-template-rows:1fr}.expand-inner{opacity:0;min-height:0;transition:opacity .2s, padding .32s var(--ease-out);flex-direction:column;gap:10px;padding:0 12px;display:flex;overflow:hidden}.listing.open .expand-inner{opacity:1;padding-bottom:12px}.hiterr{height:30px;position:relative}.hiterr .rail,.hiterr .zones{border-radius:3px;height:6px;position:absolute;top:12px;left:0;right:0}.hiterr .rail{background:var(--line)}.hiterr .zones{display:flex;overflow:hidden}.hiterr .zones i{opacity:.4}.hiterr .tick,.hiterr .med,.hiterr .mark{position:absolute;transform:translate(-50%)}.hiterr .tick{background:#6f6a9e;width:2px;height:16px;top:7px}.hiterr .med{background:#fff;width:2px;height:24px;top:3px}.hiterr .mark{background:var(--sakura);width:4px;height:30px;box-shadow:0 0 8px var(--sakura);border-radius:2px;top:0}.topbar{align-items:flex-start;gap:12px;display:flex}.topbar h1{font-size:21px}.topbar .meta{white-space:normal;margin-top:3px}.back{background:var(--night-2);width:44px;height:44px;color:var(--ink);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.gallery{flex-direction:column;gap:8px;display:flex}.gallery .photo{aspect-ratio:4/3;object-fit:contain;background:var(--night-2);border-radius:16px;width:100%;display:block}.gallery .photo.striped{aspect-ratio:3}.strip{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.strip button{background:0 0;border:2px solid #0000;border-radius:10px;flex:none;padding:0}.strip button[aria-pressed=true]{border-color:var(--miku)}.mini{object-fit:cover;border-radius:8px;width:54px;height:54px;display:block}.score{align-items:center;gap:18px;padding:4px 0;display:flex}.grade{border:6px solid var(--c);width:116px;height:116px;box-shadow:0 0 0 6px var(--night-2), 0 0 28px color-mix(in srgb, var(--c) 35%, transparent);color:var(--c);border-radius:50%;flex-direction:column;flex:none;justify-content:center;align-items:center;display:flex;position:relative}.grade b{font-size:58px;font-style:italic;font-weight:900;line-height:.95}.grade span{font-size:12px;font-style:italic;font-weight:900}.costs{flex-direction:column;flex:1;gap:5px;margin:0;font-size:14px;display:flex}.costs div{justify-content:space-between;gap:8px;display:flex}.costs dt{color:var(--mute)}.costs dd{margin:0}.costs .total{border-top:1px solid var(--line);padding-top:6px;font-size:18px;font-weight:800}.costs .total dt{color:var(--ink)}.costs .verdict{flex-direction:column;gap:0;font-weight:800}.costs .verdict dt{color:inherit}.costs .verdict dd{opacity:.85;font-size:13px;font-weight:600}.card{background:var(--night-2);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ur{font-style:italic;font-weight:800}.axis{color:var(--dim);justify-content:space-between;gap:6px;font-size:12px;display:flex}.timeline{gap:4px;height:130px;display:flex;position:relative}.timeline .col{flex:1;position:relative}.timeline .range,.timeline .median{position:absolute;left:50%;transform:translate(-50%)}.timeline .range{background:var(--miku);opacity:.3;border-radius:5px;width:9px}.timeline .median{background:var(--miku);border-radius:2px;width:15px;height:3px}.timeline .you{border-top:2px dashed var(--sakura);position:absolute;left:0;right:0}.timeline-labels{color:var(--dim);gap:4px;font-size:10px;display:flex}.timeline-labels span{text-align:center;flex:1}.legend{gap:16px;display:flex}.swatch{vertical-align:middle;width:14px;margin-right:4px;display:inline-block}.swatch.median{background:var(--miku);height:3px}.swatch.you{border-top:2px dashed var(--sakura)}.notes{flex-direction:column;gap:10px;font-size:14px;display:flex}blockquote{border-left:2px solid var(--line);color:var(--mute);white-space:pre-line;max-height:12em;margin:0;padding-left:12px;line-height:1.5;overflow:auto}.composer{background:var(--night-2);border:1.5px solid var(--line);border-radius:18px;flex-direction:column;gap:12px;padding:16px;display:flex}.composer form{flex-direction:column;gap:12px;display:flex}.composer-label{font-size:18px;font-weight:800}.field.big{background:var(--night);font-size:18px;font-weight:600}.editor{flex-direction:column;gap:18px;display:flex}.words{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.words li{background:var(--night-3);border-radius:999px;align-items:center;gap:2px;padding:6px 4px 6px 12px;font-size:14px;font-weight:600;display:flex}.words button{color:var(--mute);background:0 0;border:0;border-radius:50%;width:28px;height:28px;font-size:18px;line-height:1}.wants{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.want{background:var(--night-2);color:var(--ink);border-radius:16px;flex-direction:column;gap:6px;padding:14px 16px;text-decoration:none;display:flex}.want.paused{opacity:.55}.want-label{font-size:18px;font-weight:800}.want-counts{color:var(--mute);gap:14px;font-size:14px;display:flex}.want-counts b{color:var(--ink);font-size:16px}.want-counts span:first-child b{color:var(--sakura)}.rejected{flex-direction:column;gap:10px;margin-top:10px;display:flex}.rejected ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rejected li{background:var(--night-2);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.rejected .meta{white-space:normal}.capture{flex-direction:column;gap:16px;display:flex}.drop{border:2px dashed var(--sakura);cursor:pointer;background:#241a3e;border-radius:18px;justify-content:center;align-items:center;min-height:180px;padding:12px;display:flex}.drop.filled{border-style:solid;border-color:var(--line);background:var(--night-2);min-height:0}.drop-text{flex-direction:column;align-items:center;gap:4px;display:flex}.drop-text b{font-size:18px}.previews{gap:8px;display:flex;overflow-x:auto}.previews img{border-radius:10px;height:150px}.thinking:after{content:"…";text-align:left;vertical-align:bottom;width:1.2em;animation:1.2s steps(4,end) infinite dots;display:inline-block;overflow:hidden}.settings .card{gap:10px}.facts{flex-direction:column;gap:8px;margin:0;display:flex}.facts div{justify-content:space-between;gap:12px;display:flex}.facts dt{color:var(--mute)}.facts dd{text-align:right;margin:0}@keyframes fall{0%{opacity:0;transform:translateY(-16px)}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}@keyframes pop{0%{opacity:0;scale:1.6}60%{opacity:1;scale:.9}to{scale:1}}@keyframes fade{0%{opacity:0}}@keyframes approach{0%{opacity:0;scale:1.8}25%{opacity:.9}to{opacity:0;scale:1}}@keyframes grow-y{0%{scale:1 0}}@keyframes grow-x{0%{scale:0 1}}@keyframes draw{0%{clip-path:inset(0 100% 0 0)}}@keyframes slide{0%{left:var(--from)}}@keyframes glow{50%{box-shadow:0 0 18px var(--sakura), 0 0 4px var(--sakura)}}@keyframes hit{0%{box-shadow:0 0 #39c5bb66}to{box-shadow:0 0 0 12px #39c5bb00}}@keyframes dots{0%{width:0}to{width:1.2em}}@keyframes line-pulse{50%{box-shadow:0 0 22px var(--miku), 0 0 4px var(--miku)}}.feed .listing,.feed .day{animation:fall .45s var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms)}.feed .listing .judge{animation:pop .5s var(--ease-pop) both;animation-delay:calc(var(--i) * 45ms + .2s)}.listing{transition:background .25s,border-color .25s}.listing.open{animation:fall .45s var(--ease-out) both, hit .5s ease-out}.feed-row:active{background:#ffffff0a}.logo{animation:pop .6s var(--ease-pop) both;display:inline-block}.keys:before{animation:3s ease-in-out infinite line-pulse}.cap{animation:fall .4s var(--ease-out) both}.key:nth-child(2) .cap{animation-delay:50ms}.key:nth-child(3) .cap{animation-delay:.1s}.key:nth-child(4) .cap{animation-delay:.15s}.badge{animation:pop .45s var(--ease-pop) both .4s}.hiterr .tick{animation:.3s both fade}.hiterr .mark{animation:slide .7s var(--ease-out) .15s both, glow 1.6s ease-in-out 1s infinite}.hiterr .med{animation:grow-y .35s var(--ease-out) both}.hiterr .zones,.hiterr .rail{transform-origin:0;animation:grow-x .6s var(--ease-out) both}.listing .hiterr *{animation-play-state:paused}.listing.open .hiterr *{animation-play-state:running}.btn,.segmented button,.chip,.back,.strip button,.words button{transition:transform .12s,filter .15s,background .2s,color .2s,border-color .2s}.btn:active,.segmented button:active,.chip:active,.back:active{transform:scale(.95)}.btn:hover:not(:disabled),.back:hover{filter:brightness(1.1)}.detail>*{animation:fall .5s var(--ease-out) both}.detail>:nth-child(2){animation-delay:60ms}.detail>:nth-child(3){animation-delay:.12s}.detail>:nth-child(4){animation-delay:.18s}.detail>:nth-child(5){animation-delay:.24s}.detail>:nth-child(n+6){animation-delay:.3s}.detail>.actions.sticky{animation:rise .5s var(--ease-out) .3s both}.grade:before{content:"";border:3px solid var(--c);border-radius:50%;animation:.8s ease-out .2s both approach;position:absolute;inset:-6px}.grade b{animation:pop .55s var(--ease-pop) .65s both}.grade span{animation:.4s .9s both fade}.costs>div{animation:fall .4s var(--ease-out) both}.costs>div:nth-child(2){animation-delay:.25s}.costs>div:nth-child(3){animation-delay:.3s}.costs>div:nth-child(4){animation-delay:.4s}.costs>div:nth-child(5){animation-delay:.6s}.timeline .range,.timeline .median{transform-origin:bottom;animation:grow-y .5s var(--ease-out) both;animation-delay:calc(.35s + var(--i) * 40ms)}.timeline .median{animation-name:fade}.timeline .you{animation:draw .9s var(--ease-out) .9s both}.gallery .photo{animation:.35s both fade}.page-head,.composer,.wants li,.settings .card,.capture>*,.editor>*,.rejected li{animation:fall .45s var(--ease-out) both}.wants li{animation-delay:calc(.1s + var(--i) * 50ms)}.settings .card:nth-of-type(2){animation-delay:80ms}.editor>:nth-child(2){animation-delay:50ms}.editor>:nth-child(3){animation-delay:.1s}.editor>:nth-child(4){animation-delay:.15s}.editor>:nth-child(5){animation-delay:.2s}.words li{animation:pop .35s var(--ease-pop) both}.login{animation:fall .5s var(--ease-out) both}::view-transition-group(*){animation-duration:.32s;animation-timing-function:var(--ease-out)}
