.message-item{border-radius:var(--r-pill);background:var(--ink);color:var(--paper);letter-spacing:.02em;box-shadow:var(--shadow-md);white-space:nowrap;text-overflow:ellipsis;max-width:90vw;padding:.5rem .875rem;font-size:.875rem;font-weight:600;overflow:hidden}.msg-toast-container{z-index:30;pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;display:flex;position:absolute;top:38%;left:0;right:0}.msg-toast-container .toast-item{transition:top .2s;position:absolute}.msg-toast-container .toast-item.visible{animation:.2s ease-out forwards msg-in}.msg-toast-container .toast-item.hidden{animation:.2s ease-out forwards msg-out}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:none}}@keyframes msg-out{0%{opacity:1}to{opacity:0;transform:scale(.98)}}.achievement-item{background:linear-gradient(100deg, color-mix(in srgb, var(--amber) 30%, #fffdf8) 0%, #fffdf8 70%);border:1.5px solid color-mix(in srgb, var(--grade-color) 50%, var(--amber));box-shadow:var(--shadow-md);border-radius:.875rem;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:.5rem;padding:.5rem .75rem;display:grid}.achievement-item>svg{width:1.75rem;height:1.75rem;color:var(--grade-color);grid-row:1/3}.achievement-item .name{font-family:var(--font-serif);letter-spacing:.04em;color:var(--grade-color);font-size:.9375rem;font-weight:700}.achievement-item .description{color:var(--ink-soft);font-size:.75rem}.achv-toast-container{top:calc(env(safe-area-inset-top) + 3.75rem);z-index:30;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;left:.875rem;right:.875rem}.achv-toast-container .toast-item{transition:top .24s cubic-bezier(.22,1,.36,1);position:absolute;left:0;right:0}.achv-toast-container .toast-item.visible{animation:.32s cubic-bezier(.34,1.4,.64,1) forwards achv-drop}.achv-toast-container .toast-item.hidden{animation:.22s forwards achv-out}@keyframes achv-drop{0%{opacity:0;transform:translateY(-14px)scale(.96)}to{opacity:1;transform:none}}@keyframes achv-out{0%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.github-btn{width:2.25rem;height:2.25rem;color:var(--ink-soft);border:1px solid var(--paper-edge);box-shadow:var(--shadow-sm);background:#fffdf8c2;border-radius:50%;place-items:center;display:grid}.github-btn>svg{width:1.25rem;height:1.25rem}.home{background-position:50%;background-size:cover;height:100dvh;position:relative;overflow:hidden}.home:after{content:"";background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--paper) 82%, transparent) 45%, var(--paper) 100%);pointer-events:none;height:46%;position:absolute;inset:auto 0 0}.home>.corner{top:calc(env(safe-area-inset-top) + .75rem);z-index:3;position:absolute;right:.875rem}.home>.brand{text-align:center;padding:calc(env(safe-area-inset-top) + 2rem) 1rem 0;z-index:2;flex:none;animation:.6s cubic-bezier(.22,1,.36,1) both brand-in}.home>.brand .mark{object-fit:contain;filter:drop-shadow(0 6px 12px #3c2c1c40);width:4.5rem;height:4.5rem}.home>.brand h1{letter-spacing:.14em;text-indent:.14em;color:var(--ink);text-shadow:0 1px #fffdf8;margin:.375rem 0 0;font-size:2rem;font-weight:700}.home>.brand .tag{letter-spacing:.08em;color:var(--ink-soft);margin:.375rem 0 0;font-size:.875rem}@keyframes brand-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}.home>.mascot{object-fit:contain;z-index:1;filter:drop-shadow(0 16px 22px #3c2c1c47);flex:1;align-self:center;width:min(66%,15rem);min-height:0;margin-bottom:-1rem;animation:.7s cubic-bezier(.22,1,.36,1) .1s both float-in}@keyframes float-in{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:none}}.home>.dock{z-index:2;padding:0 1.125rem calc(env(safe-area-inset-bottom) + 1.25rem);flex-direction:column;flex:none;gap:.75rem;animation:.5s cubic-bezier(.22,1,.36,1) .22s both dock-in;display:flex}.home>.dock .start{letter-spacing:.16em;text-indent:.16em;width:100%;height:3.375rem;font-size:1.25rem;font-weight:700}.home>.dock .side{gap:.5rem;display:flex}@keyframes dock-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.chip{white-space:nowrap;border-radius:var(--r-pill);border:1px solid var(--paper-edge);min-height:2.5rem;color:var(--ink-soft);box-shadow:var(--shadow-sm);background:#fffdf8d1;flex:1;justify-content:center;align-items:center;gap:.25rem;padding:0 .375rem;font-size:.875rem;font-weight:600;display:inline-flex}.chip b{color:var(--cinnabar);font-size:.75rem;font-weight:700}.mode{background-position:50%;background-size:cover}.mode>.cards{min-height:0;padding:.5rem .875rem calc(env(safe-area-inset-bottom) + 1.25rem);flex-direction:column;flex:1;justify-content:center;gap:.875rem;display:flex;overflow-y:auto}.mode-card{border:1.5px solid var(--paper-edge);box-shadow:var(--shadow-md);text-align:left;animation:.42s cubic-bezier(.22,1,.36,1) both card-in;animation-delay:calc(var(--i) * 90ms);background:#fffdf8eb;border-radius:1.5rem;flex-direction:column;padding:0;transition:border-color .18s,transform .18s;display:flex;overflow:hidden}.mode-card:active{border-color:var(--cinnabar)}.mode-card .art{aspect-ratio:4/3;background:radial-gradient(110% 80% at 50% 25%, #fffaf0 0%, var(--paper-sink) 78%);place-items:center;width:100%;display:grid}.mode-card .art img{object-fit:contain;width:100%;height:100%}.mode-card .meta{flex-direction:column;gap:.25rem;padding:.75rem .875rem .875rem;display:flex}.mode-card h3{letter-spacing:.08em;margin:0;font-size:1.25rem;font-weight:700}.mode-card p{color:var(--ink-soft);margin:0;font-size:.8125rem}.mode-card .badge{border-radius:var(--r-pill);background:var(--paper-sink);color:var(--ink-soft);align-self:flex-start;align-items:center;gap:.25rem;margin-top:.1875rem;padding:.1875rem .5rem;font-size:.75rem;display:inline-flex}.mode-card .badge b{color:var(--cinnabar)}@keyframes card-in{0%{opacity:0;transform:translateY(22px)scale(.97)}to{opacity:1;transform:none}}.talent{border:1.5px solid var(--paper-edge);border-left:4px solid var(--grade-color);background:#fffdf8e0;border-radius:.875rem;flex-direction:column;gap:.125rem;padding:.5rem .625rem;transition:border-color .16s,background-color .16s;display:flex}.talent.selected{border-color:var(--cinnabar);border-left-color:var(--grade-color);background:color-mix(in srgb, var(--cinnabar) 9%, #fffdf8)}.talent-name{font-family:var(--font-serif);letter-spacing:.04em;color:var(--grade-color);font-size:.9375rem;font-weight:700}.talent-description{color:var(--ink-soft);font-size:.75rem;line-height:1.45}.talent-chips .talent,.chara .talent{border-radius:var(--r-pill);border-width:1px 1px 1px 3px;padding:.1875rem .4375rem}:is(.talent-chips .talent,.chara .talent) .talent-description{display:none}:is(.talent-chips .talent,.chara .talent) .talent-name{font-size:.75rem}.chara-screen{background-position:50%;background-size:cover}.chara-screen>.bar .chip-mini{border-radius:var(--r-pill);border:1px solid var(--paper-edge);color:var(--ink-soft);background:#fffdf8d1;align-items:center;gap:.25rem;padding:.3125rem .5625rem;font-size:.75rem;font-weight:600;display:inline-flex}.chara-screen>.bar .chip-mini b{color:var(--cinnabar)}.chara-list{flex-direction:column;flex:1;gap:.625rem;min-height:0;padding:.25rem .875rem 1rem;display:flex;overflow-y:auto}.chara{border-radius:var(--r-card);border:1.5px solid var(--paper-edge);box-shadow:var(--shadow-sm);cursor:pointer;animation:.34s cubic-bezier(.22,1,.36,1) both deal-in;animation-delay:calc(var(--i,0) * 70ms);background:#fffdf8e6;grid-template-rows:auto auto;grid-template-columns:5.25rem 1fr;gap:.375rem .75rem;padding:.75rem;transition:border-color .18s,transform .18s,box-shadow .18s;display:grid;position:relative}.chara.on{border-color:var(--cinnabar);box-shadow:0 0 0 3px color-mix(in srgb, var(--cinnabar) 18%, transparent), var(--shadow-md);transform:translateY(-2px)}@keyframes deal-in{0%{opacity:0;transform:translateY(18px)rotate(-1.5deg)}to{opacity:1;transform:none}}.chara-list.deal .chara{animation:none}.chara .portrait{aspect-ratio:3/4;background:radial-gradient(110% 80% at 50% 18%, #fffaf0 0%, var(--paper-sink) 78%);border-radius:.875rem;grid-row:1/3;place-items:center;width:5.25rem;display:grid;overflow:hidden}.chara .portrait img{object-fit:contain;width:100%;height:100%}.chara .unknown{color:var(--ink-faint);font-size:2rem;font-weight:700}.chara .name{letter-spacing:.06em;align-self:end;font-size:1.125rem;font-weight:700}.chara .new{z-index:2;letter-spacing:.08em;color:#fff5ef;background:var(--cinnabar);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);padding:.125rem .4375rem;font-size:.625rem;font-style:normal;font-weight:800;animation:.4s cubic-bezier(.34,1.56,.64,1) .25s both pop-new;position:absolute;top:-.4375rem;left:-.3125rem}@keyframes pop-new{0%{opacity:0;transform:scale(.4)rotate(-12deg)}to{opacity:1;transform:rotate(-8deg)}}.chara .props{flex-wrap:wrap;gap:.25rem;display:flex}.chara .props>li{border-radius:var(--r-pill);background:var(--paper-sink);align-items:center;gap:.1875rem;padding:.125rem .4375rem .125rem .25rem;font-size:.75rem;display:inline-flex}.chara .props b{color:var(--grade-color);font-size:.8125rem}.chara .talents{flex-wrap:wrap;grid-column:2;gap:.25rem;display:flex}.chara.unique .portrait{background:radial-gradient(110% 80% at 50% 20%, color-mix(in srgb, var(--amber) 28%, #fffaf0) 0%, var(--paper-sink) 80%)}.chara.unique .gen{grid-column:2;width:100%;min-height:2.375rem;font-size:.9375rem}.talent-pick{background-position:50%;background-size:cover}.talent-pick>.bar .picked{color:var(--cinnabar);border-radius:var(--r-pill);background:var(--paper-deep);padding:.1875rem .5625rem;font-size:.9375rem;font-weight:700}.talent-pick.draw{justify-content:center;align-items:center;gap:1rem}.talent-pick.draw .tip{font-family:var(--font-serif);letter-spacing:.08em;color:var(--ink-soft);margin:0;font-size:.875rem}.gacha{background:radial-gradient(circle at 50% 34%, #fffaf0 0%, var(--paper-deep) 62%, var(--paper-edge) 100%);border:2px solid var(--paper-edge);width:11rem;height:11rem;box-shadow:var(--shadow-lg);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.125rem;animation:2.6s ease-in-out infinite breathe;display:flex}.gacha .num{color:var(--cinnabar);font-size:3rem;font-weight:800;line-height:1}.gacha em{font-style:normal;font-family:var(--font-serif);letter-spacing:.28em;text-indent:.28em;color:var(--ink-soft);font-size:1.125rem;font-weight:700}.gacha:active{animation:none}@keyframes breathe{0%,to{box-shadow:var(--shadow-lg);transform:scale(1)}50%{transform:scale(1.035);box-shadow:0 22px 46px -18px #d8472b73}}.talent-grid{flex:1;grid-template-columns:repeat(2,1fr);align-content:start;gap:.5rem;min-height:0;padding:.25rem .875rem 1rem;display:grid;overflow-y:auto}.talent-grid>li{cursor:pointer;animation:.36s cubic-bezier(.22,1,.36,1) both flip-in;animation-delay:calc(var(--i) * 48ms)}.talent-grid .talent{height:100%}@keyframes flip-in{0%{opacity:0;transform:translateY(16px)rotateX(28deg)}to{opacity:1;transform:none}}.replaced{flex-direction:column;gap:.1875rem;display:flex}.replaced>li+li{opacity:.5;margin-left:1rem;position:relative}.replaced>li+li:before{content:"";background:var(--paper-edge);width:.375rem;height:1px;position:absolute;top:50%;left:-.625rem}.replaced>li+li .talent{padding:.3125rem .5rem}.replaced>li+li .talent .talent-description{display:none}.point-allocation{background-position:50%;background-size:cover}.point-allocation>.bar .left{border-radius:var(--r-pill);background:var(--paper-deep);color:var(--ink-soft);align-items:baseline;gap:.25rem;padding:.3125rem .625rem;font-size:.8125rem;display:inline-flex}.point-allocation>.bar .left b{color:var(--ink);font-size:1rem;font-weight:700}.point-allocation>.bar .left.on{background:color-mix(in srgb, var(--cinnabar) 16%, var(--paper-deep))}.point-allocation>.bar .left.on b{color:var(--cinnabar)}.points-detail{background:var(--paper-sink);border:1px dashed var(--paper-edge);border-radius:.875rem;margin-bottom:.625rem;padding:.5rem .75rem;font-size:.8125rem}.points-detail>li{color:var(--ink-soft);justify-content:space-between;padding:.1875rem 0;display:flex}.points-detail b{color:var(--ink)}.alloc{flex-direction:column;gap:.5rem;display:flex}.alloc .row{border:1px solid var(--paper-edge);background:#fffdf8e6;border-radius:.875rem;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.alloc .row .name{font-family:var(--font-serif);letter-spacing:.06em;flex:1;font-size:1rem;font-weight:700}.alloc .row .fixed{color:var(--ink-faint);font-size:.8125rem}.alloc .row .fixed i{margin-left:.0625rem;font-style:normal}.alloc .row .total{text-align:right;min-width:1.75rem;color:var(--grade-color);font-size:1.125rem;font-weight:800}.stepper{background:var(--paper-sink);border-radius:var(--r-pill);align-items:center;gap:.125rem;padding:.125rem;display:flex}.stepper>button{width:1.875rem;height:1.875rem;color:var(--ink-soft);box-shadow:var(--shadow-sm);background:#fffdf8;border-radius:50%;place-items:center;font-size:1.125rem;font-weight:700;display:grid}.stepper>input{width:2rem;font-size:1rem;font-weight:700}.point-allocation .talents{flex-direction:column;gap:.375rem;display:flex}.play{background:var(--noise), linear-gradient(180deg, #f8f2e7 0%, var(--paper) 30%);background-blend-mode:soft-light, normal;height:100dvh}.play>.topbar{padding:calc(env(safe-area-inset-top) + .625rem) .875rem .625rem;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--paper-edge);z-index:2;flex:none;align-items:center;gap:.625rem;display:flex}.play>.topbar .who{flex:none;align-items:center;gap:.375rem;display:flex}.play>.topbar .label{font-family:var(--font-serif);letter-spacing:.06em;font-size:1.0625rem;font-weight:700}.stats{flex:1;justify-content:flex-end;gap:.3125rem;display:flex;overflow-x:auto}.stats .stat{border-radius:var(--r-pill);background:var(--paper-deep);flex:none;align-items:center;gap:.1875rem;padding:.25rem .5rem .25rem .3125rem;font-size:.8125rem;font-weight:700;transition:background-color .3s,color .3s;display:inline-flex}.stats .value{text-align:center;min-width:1ch}.stats .trend-up{background:color-mix(in srgb, var(--cinnabar) 18%, var(--paper-deep));color:var(--cinnabar-deep)}.stats .trend-down{background:color-mix(in srgb, var(--pine) 16%, var(--paper-deep));color:var(--pine)}.stream{cursor:pointer;-webkit-tap-highlight-color:transparent;flex:1;min-height:0;padding:.75rem .875rem 1rem;overflow-y:auto}.age-sep{font-family:var(--font-serif);color:var(--ink-faint);letter-spacing:.08em;justify-content:center;align-items:center;gap:.25rem;margin:.875rem 0 .625rem;font-size:.8125rem;display:flex}.age-sep:before,.age-sep:after{content:"";background:linear-gradient(90deg, transparent, var(--paper-edge));flex:1;height:1px}.age-sep:after{background:linear-gradient(90deg, var(--paper-edge), transparent)}.age-sep .num{color:var(--ink-soft);font-size:.9375rem;font-weight:700}.msgs{flex-direction:column;gap:.4375rem;display:flex}.msg{animation:.24s cubic-bezier(.22,1,.36,1) both rise;animation-delay:calc(var(--i,0) * 55ms)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.msg.fate{max-width:86%;display:flex}.msg.fate .bubble{border:1px solid var(--paper-edge);border-radius:var(--r-bubble);box-shadow:var(--shadow-sm);background:#fffdf8;border-top-left-radius:.25rem;padding:.625rem .75rem;font-size:1rem;line-height:1.55;position:relative}.msg.fate p{margin:0}.msg.fate p.post{color:var(--ink-soft);margin-top:.375rem}.msg.fate .tick{background:var(--grade-color);border-radius:.25rem 0 .375rem;width:.5rem;height:1.375rem;position:absolute;top:-1px;left:-1px}.msg.me{justify-content:flex-end;margin:.125rem 0 .1875rem;display:flex}.msg.me .bubble{background:var(--pine);color:#f3f7f5;border-radius:var(--r-bubble);max-width:78%;box-shadow:var(--shadow-sm);border-bottom-right-radius:.25rem;padding:.5rem .75rem;font-size:.9688rem;font-weight:600}.shot{background:radial-gradient(120% 90% at 50% 15%, #fffaf0 0%, var(--paper-sink) 70%);border:1px solid var(--paper-edge);border-radius:.875rem;margin:.5rem 0 .125rem;overflow:hidden}.shot img{width:100%;height:auto;display:block}.shot.end{background:radial-gradient(120% 90% at 50% 20%,#f6ece0 0%,#e3d4bd 100%)}.deltas{flex-wrap:wrap;gap:.3125rem;margin-top:.5rem;display:flex}.deltas .delta{border-radius:var(--r-pill);background:var(--paper-sink);color:var(--ink-soft);align-items:center;gap:.1875rem;padding:.125rem .4375rem .125rem .25rem;font-size:.75rem;font-weight:600;display:inline-flex}.deltas .delta b{font-size:.8125rem}.deltas .up{color:var(--cinnabar-deep);background:color-mix(in srgb, var(--cinnabar) 12%, var(--paper))}.deltas .down{color:var(--pine);background:color-mix(in srgb, var(--pine) 10%, var(--paper))}.msg.note,.msg.award{border-radius:.75rem;flex-direction:row;align-items:center;gap:.375rem;padding:.4375rem .625rem;font-size:.8125rem;display:flex}:is(.msg.note,.msg.award) b{color:var(--grade-color);flex:none;font-weight:700}:is(.msg.note,.msg.award) span{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.msg.note{background:var(--paper-sink);border:1px dashed var(--paper-edge)}.msg.award{background:linear-gradient(90deg, color-mix(in srgb, var(--amber) 22%, var(--paper)) 0%, var(--paper-sink) 100%);border:1px solid color-mix(in srgb, var(--amber) 40%, var(--paper-edge))}.msg.award b{color:#9a6512}.play>.dock{padding:.625rem .875rem calc(env(safe-area-inset-bottom) + .75rem);background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--paper-edge);z-index:2;flex:none}.play>.dock .controls{gap:.5rem;display:flex}.play>.dock .btn.flex{flex:1}.play>.dock .btn.wide{width:100%}.play>.dock .icon-btn.on{background:var(--cinnabar)}.drawer{animation:.22s cubic-bezier(.22,1,.36,1) both slide-up}.drawer .ask{font-family:var(--font-serif);letter-spacing:.02em;text-align:center;color:var(--ink);margin:0 0 .5rem;font-size:1.0625rem;font-weight:700}.drawer .options{flex-direction:column;gap:.4375rem;display:flex}.drawer .options>li{animation:.2s both rise;animation-delay:calc(var(--i) * 45ms + 60ms)}@keyframes slide-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.option{width:100%;min-height:var(--tap);border:1.5px solid var(--paper-edge);text-align:left;box-shadow:var(--shadow-sm);background:#fffdf8;border-radius:.875rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:1rem;font-weight:600;display:flex}.option:active:not(:disabled){border-color:var(--cinnabar);background:color-mix(in srgb, var(--cinnabar) 8%, #fffdf8)}.option:disabled{opacity:1;color:var(--ink-faint);background:var(--paper-sink);box-shadow:none;border-style:dashed}.option em{color:var(--ink-faint);flex:none;font-size:.75rem;font-style:normal}.sprite{vertical-align:middle;background-repeat:no-repeat;flex:none;display:inline-block}.summary{background-position:50%;background-size:cover}.summary>.body{padding-top:calc(env(safe-area-inset-top) + .75rem)}.hero-card{border:1.5px solid var(--paper-edge);box-shadow:var(--shadow-md);background:#fffdf8e6;border-radius:1.5rem;align-items:center;gap:.875rem;padding:.875rem;animation:.45s cubic-bezier(.22,1,.36,1) both card-rise;display:flex}.hero-card .portrait{aspect-ratio:3/4;background:radial-gradient(110% 80% at 50% 20%, #fffaf0 0%, var(--paper-sink) 78%);border-radius:1rem;flex:none;place-items:center;width:6.5rem;display:grid;overflow:hidden}.hero-card .portrait img{object-fit:contain;width:100%;height:100%}.hero-card .meta{flex-direction:column;gap:.25rem;display:flex}.hero-card .life{letter-spacing:.06em;color:var(--ink-soft);font-size:.8125rem}.hero-card .life b{color:var(--cinnabar);font-size:.9375rem}.hero-card h2{letter-spacing:.04em;margin:0;font-size:1.625rem;font-weight:700}.hero-card h2 b{font-size:2rem}.hero-card .verdict{border-radius:var(--r-pill);background:color-mix(in srgb, var(--grade-color) 16%, var(--paper));color:var(--grade-color);align-self:flex-start;align-items:center;gap:.3125rem;padding:.25rem .625rem;font-size:.875rem;font-weight:700;display:inline-flex}.hero-card .verdict b{font-size:1rem}@keyframes card-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.summary .judges{flex-direction:column;gap:.375rem;margin-top:.75rem;display:flex}.summary .judges>li{border:1px solid var(--paper-edge);background:#fffdf8d1;border-radius:.75rem;align-items:center;gap:.4375rem;padding:.4375rem .75rem;font-size:.875rem;display:flex}.summary .judges .name{color:var(--ink-soft);flex:1}.summary .judges .value{color:var(--grade-color);font-size:1rem;font-weight:800}.summary .judges .level{text-align:right;min-width:3.5rem;font-family:var(--font-serif);color:var(--grade-color);font-weight:700}.summary .choices{flex-direction:column;gap:.375rem;display:flex}.summary .choices>li{background:var(--paper-sink);border-left:3px solid var(--cinnabar);border-radius:.75rem;align-items:baseline;gap:.4375rem;padding:.5rem .75rem;font-size:.8125rem;display:flex}.summary .choices .age{color:var(--cinnabar);flex:none;font-weight:700}.summary .choices .ask{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.summary .choices .answer{color:var(--ink);flex:none;font-weight:700}.summary .talents{flex-direction:column;gap:.375rem;display:flex}.summary .talents>li{cursor:pointer}.achv{background-position:50%;background-size:cover}.stat-cards{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.stat-cards>li{border-radius:var(--r-card);border:1px solid var(--paper-edge);box-shadow:var(--shadow-sm);background:#fffdf8e0;flex-direction:column;gap:.1875rem;padding:.625rem .75rem;display:flex}.stat-cards .label{color:var(--ink-soft);font-size:.75rem}.stat-cards .value{color:var(--grade-color);font-size:1.25rem;font-weight:800}.stat-cards .note{color:var(--ink-faint);font-size:.6875rem}.stat-cards .track{border-radius:var(--r-pill);background:var(--paper-deep);height:.3125rem;margin-top:.1875rem;overflow:hidden}.stat-cards .track>i{border-radius:inherit;background:var(--grade-color);height:100%;transition:width .6s cubic-bezier(.22,1,.36,1);display:block}.achievement-list{flex-direction:column;gap:.375rem;display:flex}.achievement{background:color-mix(in srgb, var(--paper-deep) 55%, transparent);opacity:.7;border:1px solid #0000;border-radius:.875rem;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;display:flex}.achievement .text{flex-direction:column;gap:.0625rem;display:flex}.achievement .name{font-family:var(--font-serif);letter-spacing:.04em;color:var(--ink-faint);font-size:.9375rem;font-weight:700}.achievement .description{color:var(--ink-faint);font-size:.75rem;line-height:1.45}.achievement.on{opacity:1;border-color:color-mix(in srgb, var(--grade-color) 42%, var(--paper-edge));background:#fffdf8e0}.achievement.on .name{color:var(--grade-color)}.achievement.on .description{color:var(--ink-soft)}.gallery{background-position:50%;background-size:cover;height:100dvh}.gallery>.bar{padding:calc(env(safe-area-inset-top) + .625rem) .875rem .5rem;background:color-mix(in srgb, var(--paper) 85%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex:none;align-items:center;gap:.625rem;display:flex}.gallery>.bar h2{letter-spacing:.08em;flex:1;margin:0;font-size:1.1875rem;font-weight:700}.gallery>.bar .count{color:var(--ink-soft);border-radius:var(--r-pill);background:var(--paper-deep);padding:.1875rem .5rem;font-size:.9375rem;font-weight:700}.gallery>.progress{background:color-mix(in srgb, var(--paper) 85%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--paper-edge);flex:none;padding:0 .875rem .625rem}.gallery>.progress .track{border-radius:var(--r-pill);background:var(--paper-deep);height:.375rem;overflow:hidden}.gallery>.progress .track>i{border-radius:inherit;background:linear-gradient(90deg, var(--amber), var(--cinnabar));height:100%;transition:width .5s cubic-bezier(.22,1,.36,1);display:block}.gallery>.progress .hint{color:var(--ink-soft);align-items:baseline;gap:.5rem;margin:.375rem 0 0;font-size:.75rem;display:flex}.gallery>.progress .hint>b{font-family:var(--font-serif);color:var(--cinnabar-deep);font-size:.8125rem}.gallery>.progress .hint .num{color:var(--cinnabar)}.gallery>.grid{min-height:0;padding:.75rem .875rem calc(env(safe-area-inset-bottom) + 1rem);flex:1;grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid;overflow-y:auto}.card>button{border-radius:var(--r-card);border:1px solid var(--paper-edge);width:100%;box-shadow:var(--shadow-sm);background:#fffdf8e0;flex-direction:column;align-items:center;gap:.25rem;padding:.375rem .25rem .5rem;display:flex;position:relative}.card .portrait{aspect-ratio:3/4;background:radial-gradient(110% 80% at 50% 20%, #fffaf0 0%, var(--paper-sink) 75%);border-radius:.75rem;place-items:center;width:100%;display:grid;overflow:hidden}.card .portrait img{object-fit:contain;width:100%;height:100%}.card .unknown{font-family:var(--font-serif);color:var(--ink-faint);opacity:.5;font-size:1.75rem}.card .name{color:var(--ink-soft);font-size:.8125rem;font-weight:600}.card .dup{color:#fff5ef;background:var(--cinnabar);border-radius:var(--r-pill);padding:.0625rem .3125rem;font-size:.6875rem;font-style:normal;font-weight:700;position:absolute;top:.5rem;right:.5rem}.card:not(.owned) button{background:color-mix(in srgb, var(--paper-deep) 70%, transparent)}.card:not(.owned) .portrait{background:var(--paper-deep)}.card:not(.owned) .name{color:var(--ink-faint)}.card.owned .name{color:var(--ink);font-family:var(--font-serif);font-weight:700}.detail-mask{z-index:10;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1f1b176b;place-items:center;padding:1.25rem;animation:.16s both fade;display:grid;position:absolute;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.detail{background:var(--paper);width:100%;max-width:20rem;max-height:100%;box-shadow:var(--shadow-lg);border-radius:1.5rem;flex-direction:column;align-items:center;gap:.625rem;padding:1rem;animation:.22s cubic-bezier(.22,1,.36,1) both pop;display:flex;overflow-y:auto}.detail .hero{aspect-ratio:3/4;background:radial-gradient(110% 80% at 50% 20%, #fffaf0, var(--paper-sink));border-radius:1rem;place-items:center;width:9rem;display:grid;overflow:hidden}.detail .hero img{object-fit:contain;width:100%;height:100%}.detail h3{letter-spacing:.06em;margin:0;font-size:1.375rem;font-weight:700}.detail .props{grid-template-columns:repeat(2,1fr);gap:.375rem;width:100%;display:grid}.detail .props>li{background:var(--paper-sink);border-radius:.625rem;align-items:center;gap:.25rem;padding:.3125rem .5rem;font-size:.8125rem;display:flex}.detail .props>li>span{color:var(--ink-soft);flex:1}.detail .props>li>b{color:var(--grade-color)}.detail .talent-chips{flex-wrap:wrap;justify-content:center;gap:.3125rem;display:flex}.detail .btn{width:100%;margin-top:.25rem}@keyframes pop{0%{opacity:0;transform:scale(.94)translateY(10px)}to{opacity:1;transform:none}}.thanks .group{flex-wrap:wrap;gap:.375rem;margin-bottom:.875rem;display:flex}.person{--custom-color:var(--ink-soft);border-radius:var(--r-pill);border:1px solid var(--paper-edge);background:#fffdf8d1;align-items:baseline;gap:.25rem;padding:.25rem .5625rem;display:inline-flex}.person .name{color:var(--custom-color);font-size:.875rem;font-weight:600}.person .comment{color:var(--ink-faint);font-size:.6875rem}.thanks .group-2 .person{background:0 0;border-color:#0000;padding:.125rem .25rem}.thanks .group-2 .person .name{font-size:.8125rem;font-weight:500}.screen{flex-direction:column;width:100%;height:100dvh;animation:.26s both screen-in;display:flex;position:relative}@keyframes screen-in{0%{opacity:0}to{opacity:1}}.screen.veil:before{content:"";background:color-mix(in srgb, var(--paper) 68%, transparent);pointer-events:none;z-index:0;position:absolute;inset:0}:where(.screen.veil)>*{z-index:1;position:relative}.screen>.bar{padding:calc(env(safe-area-inset-top) + .625rem) .875rem .5rem;flex:none;align-items:center;gap:.625rem;display:flex}.screen>.bar>h2{font-family:var(--font-serif);letter-spacing:.08em;flex:1;margin:0;font-size:1.1875rem;font-weight:700}.screen>.controls{padding:.625rem .875rem calc(env(safe-area-inset-bottom) + .875rem);background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--paper-edge);flex:none;gap:.5rem;display:flex}.screen>.controls>.btn{flex:1}.screen>.body{flex:1;min-height:0;padding:.25rem .875rem 1rem;overflow-y:auto}.screen.loading{font-family:var(--font-serif);letter-spacing:.1em;color:var(--ink-soft);place-items:center;animation:1.8s ease-in-out infinite pulse;display:grid}.saving{bottom:calc(env(safe-area-inset-bottom) + .375rem);color:var(--ink-faint);opacity:0;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:20;font-size:.75rem;position:absolute;left:.875rem}.saving.active{animation:1.8s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}.section-title{font-family:var(--font-serif);letter-spacing:.06em;color:var(--ink-soft);align-items:center;gap:.375rem;margin:.875rem 0 .5rem;font-size:.9375rem;font-weight:700;display:flex}.section-title:after{content:"";background:linear-gradient(90deg, var(--paper-edge), transparent);flex:1;height:1px}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f5eee1;--paper-deep:#e8dac3;--paper-edge:#d9c8ad;--paper-sink:#efe5d4;--ink:#1f1b17;--ink-soft:#6b6157;--ink-faint:#9a9085;--cinnabar:#d8472b;--cinnabar-deep:#b5341c;--amber:#e5a13b;--pine:#2e6e6b;--sage:#9db59a;--color-grade-0:#8e8577;--color-grade-1:#3d7bd9;--color-grade-2:#8a5bd3;--color-grade-3:#e88428;--base-text-color:var(--ink);--base-background-color:var(--paper);--base-shadow:#3c2c1c1a;--color-success:var(--sage);--color-info:var(--pine);--color-error:var(--cinnabar);--color-primary:var(--cinnabar);--color-secondary:var(--pine);--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E");--shadow-sm:0 1px 2px #3c2c1c1a;--shadow-md:0 4px 14px -4px #3c2c1c2e;--shadow-lg:0 18px 40px -18px #3c2c1c59;--r-bubble:1.125rem;--r-card:1.25rem;--r-pill:999px;--tap:2.75rem;--font-sans:"PingFang SC", "HarmonyOS Sans SC", "Noto Sans CJK SC", "MiSans", -apple-system, system-ui, sans-serif;--font-serif:"Songti SC", "STSong", "Noto Serif CJK SC", "SimSun", Georgia, serif;--font-num:"SF Mono", ui-monospace, SFMono-Regular, Menlo, "Roboto Mono", monospace}.grade-0{--grade-color:var(--color-grade-0)}.grade-1{--grade-color:var(--color-grade-1)}.grade-2{--grade-color:var(--color-grade-2)}.grade-3{--grade-color:var(--color-grade-3)}:root{color:var(--ink);font-size:16px;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{box-sizing:border-box}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.hide-scrollbar::-webkit-scrollbar{display:none}html,body{height:100%}body{background:var(--paper);color:var(--ink);overscroll-behavior:none;background-image:var(--noise), radial-gradient(120% 80% at 50% 0%, #fbf6ec 0%, var(--paper) 55%, #eadfcc 100%);background-blend-mode:soft-light, normal;margin:0;padding:0;overflow:hidden}#remake{background:var(--paper);width:min(100%,30rem);height:100dvh;box-shadow:0 0 0 1px var(--paper-edge), var(--shadow-lg);isolation:isolate;margin-inline:auto;position:relative;overflow:hidden}html,body,button,input,select,textarea{font-family:var(--font-sans)}.font-mono,.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.serif{font-family:var(--font-serif)}ul,ol{margin:0;padding:0;list-style:none}button{appearance:none;cursor:pointer;color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:0 0;border:none;margin:0;font-family:inherit;font-size:1rem;transition:transform .12s,background-color .16s,border-color .16s,opacity .16s}button:disabled{cursor:not-allowed}button:active:not(:disabled){transform:scale(.975)}.btn{min-height:var(--tap);border-radius:var(--r-pill);letter-spacing:.02em;background:var(--paper-deep);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:.4rem;padding-inline:1.25rem;font-size:1.0625rem;font-weight:600;display:inline-flex}.btn.primary{background:var(--cinnabar);color:#fff5ef;box-shadow:0 3px 0 var(--cinnabar-deep), var(--shadow-md)}.btn.primary:active:not(:disabled){box-shadow:0 1px 0 var(--cinnabar-deep)}.btn.ghost{border:1px solid var(--paper-edge);color:var(--ink-soft);background:0 0}.btn:disabled{opacity:.45;box-shadow:none}.icon-btn{width:var(--tap);height:var(--tap);background:var(--paper-deep);box-shadow:var(--shadow-sm);border-radius:50%;place-items:center;display:grid}input{text-align:center;appearance:none;color:var(--ink);background:0 0;border:none;margin:0;padding:0;font-family:inherit;font-size:1rem}input:focus{outline:none}input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
