:root{--bg: #0b0d12;--bg-elevated: #141821;--bg-panel: #1b202b;--bg-scrim: rgba(11, 13, 18, .82);--gold: #e8b44a;--gold-soft: rgba(232, 180, 74, .14);--gold-line: rgba(232, 180, 74, .32);--vermilion: #e4572e;--vermilion-soft: rgba(228, 87, 46, .14);--text: #e8eaf0;--text-dim: #8b93a7;--text-faint: #5c6478;--cream: #ede7d9;--line: rgba(232, 244, 255, .08);--line-strong: rgba(232, 244, 255, .14);--font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Helvetica, Arial, sans-serif;--font-serif: "Songti SC", "Noto Serif SC", Georgia, "Times New Roman", serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--content-max: 480px;--tap-min: 44px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--bg);-webkit-text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--text);background:radial-gradient(120% 60% at 50% -10%,rgba(232,180,74,.13) 0%,transparent 60%),radial-gradient(90% 50% at 100% 100%,rgba(228,87,46,.08) 0%,transparent 65%),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}#root{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column}.app-shell{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:max(20px,env(safe-area-inset-top)) 20px max(32px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:20px}.app-footer{width:100%;max-width:var(--content-max);margin:0 auto;padding:24px 20px max(28px,env(safe-area-inset-bottom));text-align:center;color:var(--text-faint);font-size:12px;line-height:1.9}.app-footer__links{color:var(--text-dim);margin-bottom:4px}.panel{position:relative;background:linear-gradient(165deg,var(--bg-panel) 0%,var(--bg-elevated) 100%);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 20px;box-shadow:0 1px #ffffff0a inset,0 18px 44px #0000006b;overflow:hidden}.panel:after{content:"";position:absolute;top:-60%;left:50%;width:120%;height:90%;transform:translate(-50%);pointer-events:none;background:radial-gradient(50% 50% at 50% 50%,rgba(232,180,74,.09) 0%,transparent 70%)}.panel>*{position:relative;z-index:1}.title-serif{font-family:var(--font-serif);font-weight:600;letter-spacing:.02em}.brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-serif);font-size:15px;letter-spacing:.14em;color:var(--gold)}.brand:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap-min);padding:12px 22px;border:1px solid transparent;border-radius:var(--radius);font-family:inherit;font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out),background .18s var(--ease-out),border-color .18s var(--ease-out),opacity .18s var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn:active{transform:scale(.975)}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.btn--primary{background:linear-gradient(135deg,#f2c668 0%,var(--gold) 45%,#cf9a33 100%);color:#241a05;box-shadow:0 1px #ffffff59 inset,0 10px 26px #e8b44a42}.btn--primary:hover{box-shadow:0 1px #fff6 inset,0 14px 32px #e8b44a57}.btn--ghost{background:#ffffff08;border-color:var(--line-strong);color:var(--text)}.btn--ghost:hover{background:#ffffff12;border-color:var(--gold-line)}.btn--vermilion{background:linear-gradient(135deg,#f06a44 0%,var(--vermilion) 100%);color:#fff3ee;box-shadow:0 10px 26px #e4572e42}.btn--block{width:100%}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}.btn-row{display:flex;flex-direction:column;gap:10px}.field{display:flex;flex-direction:column;gap:8px}.field__label{font-size:13px;color:var(--text-dim);letter-spacing:.06em}.input{width:100%;min-height:var(--tap-min);padding:12px 14px;background:#00000047;border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:16px;transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.input::placeholder{color:var(--text-faint)}.input:focus{outline:none;border-color:var(--gold-line);box-shadow:0 0 0 3px var(--gold-soft)}.field__hint{font-size:12px;color:var(--text-faint)}.field__error{font-size:13px;color:var(--vermilion)}.dim{color:var(--text-dim)}.gold{color:var(--gold)}.text-center{text-align:center}.toast{position:fixed;left:50%;bottom:max(28px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:100;max-width:calc(100vw - 40px);padding:12px 20px;border-radius:999px;background:#1b202bf5;border:1px solid var(--gold-line);color:var(--text);font-size:14px;box-shadow:0 14px 40px #00000080;animation:toast-in .28s var(--ease-out);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.toast--error{border-color:#e4572e80}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fade-up .45s var(--ease-out) both}@keyframes pop-in{0%{opacity:0;transform:scale(.82)}60%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.pop-in{animation:pop-in .5s var(--ease-out) both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.feature-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;font-size:12px;color:var(--text-dim)}.feature-bar__item{position:relative;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:#ffffff06}.progress{display:flex;flex-direction:column;gap:10px;align-items:center}.progress__dots{display:flex;gap:4px;width:100%;justify-content:space-between}.progress__dot{flex:1;height:3px;border-radius:2px;background:var(--line-strong);transition:background .35s var(--ease-out),box-shadow .35s var(--ease-out)}.progress__dot--done{background:var(--gold);box-shadow:0 0 8px #e8b44a80}.progress__dot--current{background:var(--gold);box-shadow:0 0 12px #e8b44ad9;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.progress__label{font-size:12px;color:var(--text-dim);letter-spacing:.08em}.event-card__meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.event-card__hint{font-size:12px;color:var(--text-faint);letter-spacing:.1em}.fortune-tag{display:inline-flex;align-items:center;min-height:26px;padding:3px 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.16em;border:1px solid transparent}.fortune-tag--great{color:var(--gold);background:var(--gold-soft);border-color:var(--gold-line);box-shadow:0 0 16px #e8b44a38}.fortune-tag--plain{color:var(--text-dim);background:#ffffff0a;border-color:var(--line)}.fortune-tag--rough{color:var(--vermilion);background:var(--vermilion-soft);border-color:#e4572e57}.event-card__title{font-size:25px;line-height:1.3;margin:0 0 10px;color:var(--cream)}.event-card__text{margin:0 0 22px;font-size:15px;line-height:1.75;color:var(--text-dim)}.option-list{display:flex;flex-direction:column;gap:10px}.option{display:flex;align-items:center;gap:14px;width:100%;min-height:52px;padding:13px 16px;background:#ffffff09;border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:15.5px;text-align:left;cursor:pointer;transition:transform .16s var(--ease-out),background .16s var(--ease-out),border-color .16s var(--ease-out),box-shadow .16s var(--ease-out);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.option:hover:not(:disabled){background:var(--gold-soft);border-color:var(--gold-line);transform:translate(3px)}.option:active:not(:disabled){transform:scale(.985)}.option:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.option:disabled{opacity:.5;cursor:not-allowed}.option__index{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:#e8b44a21;border:1px solid var(--gold-line);color:var(--gold);font-size:12px;font-weight:700;font-family:var(--font-mono)}.option__label{flex:1}.reply{margin:0;padding:13px 16px;border-radius:var(--radius);background:#e8b44a12;border-left:3px solid var(--gold);font-size:14px;color:var(--cream);font-style:italic}.panel__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel__title{margin:0;font-size:15px;font-weight:600;color:var(--text-dim);letter-spacing:.1em}.score-chip{font-size:12px;color:var(--text-dim)}.score-chip strong{font-size:20px;color:var(--gold);font-family:var(--font-mono);margin-left:4px}.stat-list{display:flex;flex-direction:column;gap:13px}.stat__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.stat__name{font-size:13px;color:var(--text-dim);letter-spacing:.06em}.stat__value{font-size:14px;font-family:var(--font-mono);color:var(--text);font-weight:600}.stat__delta{margin-left:7px;font-size:12px;font-family:var(--font-mono)}.stat__delta--up{color:var(--gold)}.stat__delta--down{color:var(--vermilion)}.stat__track{height:7px;border-radius:4px;background:#ffffff0f;overflow:hidden}.stat__fill{height:100%;border-radius:4px;transition:width .5s var(--ease-out)}.stat--compact .stat__track{height:6px}.result__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.result__label{display:block;font-size:11px;letter-spacing:.18em;color:var(--text-faint);margin-bottom:4px}.result__name{margin:0;font-size:27px;color:var(--cream)}.result__score{text-align:right}.result__score-num{display:block;font-size:46px;line-height:1;font-family:var(--font-mono);font-weight:700}.result__badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.rarity-badge{display:inline-flex;align-items:center;min-height:30px;padding:4px 14px;border-radius:999px;border:1px solid;font-size:13px;font-weight:600}.ending-badge{display:inline-flex;align-items:center;min-height:30px;padding:4px 14px;border-radius:999px;background:#e4572e21;border:1px solid rgba(228,87,46,.32);color:var(--vermilion);font-size:13px}.result__section{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.result__section-title{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-dim);letter-spacing:.1em}.highlight-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}.highlight-list li{font-size:14px;color:var(--text);padding-left:14px;position:relative}.highlight-list li:before{content:"";position:absolute;left:0;top:10px;width:5px;height:5px;border-radius:50%;background:var(--gold)}.epitaph{margin:0;font-family:var(--font-serif);font-style:italic;font-size:16px;line-height:1.8;color:var(--cream)}.card-preview{display:block;width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line-strong);box-shadow:0 18px 46px #00000080}.degraded-note{margin:0;text-align:center;font-size:11px;color:var(--text-faint)}.banner{padding:12px 16px;border-radius:var(--radius);font-size:13.5px;line-height:1.6;border:1px solid}.banner--warn{color:var(--gold);background:var(--gold-soft);border-color:var(--gold-line)}.share__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px}.share__name{font-family:var(--font-serif);font-size:25px;color:var(--cream)}.share__score{font-family:var(--font-mono);font-size:42px;font-weight:700;line-height:1}.share__rarity{font-size:13px;font-weight:600}.share__anchor{margin:16px 0 20px;font-size:16px;line-height:1.7;color:var(--text)}.share__statlist{display:none}.replay-preview{margin:16px 0;padding:14px 16px;border-radius:var(--radius);background:#0000003d;border:1px solid var(--line)}.replay-preview__label{display:block;font-size:11px;letter-spacing:.16em;color:var(--text-faint);margin-bottom:8px}.replay-preview ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.replay-preview li{font-size:13.5px;color:var(--text-dim)}.locale-switch{display:inline-flex;padding:3px;gap:2px;border:1px solid var(--line);border-radius:999px;background:#ffffff08}.locale-switch__btn{min-width:44px;min-height:34px;padding:4px 12px;border:0;border-radius:999px;background:transparent;color:var(--text-dim);font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;cursor:pointer;transition:background-color .18s ease,color .18s ease;-webkit-tap-highlight-color:transparent}.locale-switch__btn:hover{color:var(--text)}.locale-switch__btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.locale-switch__btn--active{background:var(--gold);color:#17130a;font-weight:700}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-bottom:14px}.app-header__brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-serif, serif);font-size:17px;font-weight:700;letter-spacing:.06em;color:var(--gold);text-decoration:none}.app-header__seal{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--cinnabar);color:#fff;font-size:13px;font-weight:800;letter-spacing:0}
