:root{--frame-bg: #f6f8f7;--frame-bg-2: #edf0ef;--frame-border: #e1e6e4;--frame-text: #55615e;--frame-text-dim: #596461;--frame-active: #e8efed;--frame-text-strong: #1d2825;--canvas: #fcfdfd;--surface: #ffffff;--surface-muted: #f1f4f3;--panel: #f8faf9;--chip: #eaf2f0;--ink: #1d2825;--ink-strong: #26332f;--ink-soft: #596561;--ink-faint: #6b7672;--navy: #1d2825;--teal: #2b7772;--teal-strong: #216761;--teal-soft: #e8f3f1;--teal-fill: #216761;--teal-fill-hover: #2b7772;--teal-on-fill: #f7fbfa;--amber: #a64b08;--amber-soft: #f8ecd9;--red: #b3382e;--red-soft: #f7e4e1;--green: #3f8b61;--green-soft: #edf6f0;--blue: #3d84c6;--blue-soft: #eff5fa;--violet: #6252a2;--violet-soft: #ece9f7;--border: #e1e6e4;--border-strong: #cbd4d1;--focus-ring: #287d77;--shadow-sm: 0 1px 2px rgba(24, 42, 37, .04);--shadow-md: 0 10px 30px rgba(24, 42, 37, .08);--shadow-lg: 0 22px 64px rgba(20, 36, 32, .16);--shadow: var(--shadow-md);--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--font-stack: "SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif}html[data-theme=dark]{color-scheme:dark;--frame-bg: #161a18;--frame-bg-2: #1d221f;--frame-border: #2b322f;--frame-text: #b7c0bc;--frame-text-dim: #aab4b0;--frame-active: #24312d;--frame-text-strong: #edf2ef;--canvas: #111412;--surface: #191d1b;--surface-muted: #222825;--panel: #151917;--chip: #20302b;--ink: #edf2ef;--ink-strong: #f4f7f5;--ink-soft: #b8c1bd;--ink-faint: #929d98;--navy: #edf2ef;--teal: #67b6af;--teal-strong: #8acbc5;--teal-soft: #1d3531;--teal-fill: #67b6af;--teal-fill-hover: #8acbc5;--teal-on-fill: #111412;--amber: #e3a25c;--amber-soft: #382b20;--red: #e68077;--red-soft: #3b2627;--green: #73ba8b;--green-soft: #203229;--blue: #7eb2df;--blue-soft: #222f3b;--violet: #a99bdf;--violet-soft: #2d2940;--border: #2b322f;--border-strong: #45514c;--focus-ring: #67b6af;--shadow-sm: 0 1px 2px rgba(4, 8, 6, .3);--shadow-md: 0 12px 34px rgba(2, 6, 4, .34);--shadow-lg: 0 24px 70px rgba(2, 6, 4, .48)}*{box-sizing:border-box}html,body{margin:0;padding:0}body.massos-overlay-open{overflow:hidden}body{font-family:var(--font-stack);background:var(--canvas);color:var(--ink);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}#app{min-height:100dvh}h1,h2,h3,h4{color:var(--ink);line-height:1.28;margin:0 0 .5em;font-weight:640;overflow-wrap:break-word}h1{font-size:clamp(1.5rem,2vw,2rem);letter-spacing:-.035em}h2{font-size:1.12rem;letter-spacing:-.025em}h3{font-size:.98rem}p{margin:0 0 .75em;overflow-wrap:break-word}a{color:var(--teal)}button{font-family:inherit;font-size:inherit;cursor:pointer}:focus-visible{outline:2px solid color-mix(in srgb,var(--focus-ring) 86%,transparent);outline-offset:3px;border-radius:var(--radius-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);min-height:2.25rem;padding:.48em .86em;border-radius:var(--radius-sm);font-weight:620;line-height:1.4;max-width:100%;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.btn:hover{background:var(--surface-muted)}.btn:active:not([disabled]){transform:translateY(1px)}.btn-primary{background:var(--teal-fill);border-color:var(--teal-fill);color:var(--teal-on-fill)}.btn-primary:hover{background:var(--teal-fill-hover);border-color:var(--teal-fill-hover)}.btn-ghost{border-color:transparent;background:transparent;color:var(--teal)}.btn-ghost:hover{background:var(--teal-soft)}.btn-danger{border-color:var(--red);color:var(--red);background:var(--surface)}.btn-danger:hover{background:var(--red-soft)}.btn[disabled],button[disabled]{opacity:.55;cursor:not-allowed}.btn[disabled]:hover,button[disabled]:hover{background:var(--surface)}.btn-primary[disabled]:hover{background:var(--teal-fill)}.input,textarea.input,select.input{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:.58em .78em;font-family:inherit;font-size:inherit;line-height:1.5}.input:focus{border-color:var(--teal);outline:3px solid color-mix(in srgb,var(--teal) 20%,transparent);outline-offset:0}.input[disabled]{background:var(--surface-muted);color:var(--ink-faint)}.field-label{display:block;font-weight:600;margin-bottom:.35em;color:var(--ink-soft)}.field-error{color:var(--red);font-size:.9rem;margin-top:.3em}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1rem 1.25rem;min-width:0}.tag{display:inline-flex;align-items:center;gap:.35em;padding:.1em .6em;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid var(--border-strong);color:var(--ink-soft);background:var(--surface-muted);white-space:nowrap}.tag-teal{background:var(--teal-soft);border-color:var(--teal);color:var(--teal)}.tag-amber{background:var(--amber-soft);border-color:var(--amber);color:var(--amber)}.tag-red{background:var(--red-soft);border-color:var(--red);color:var(--red)}.soon-tag{display:inline-block;margin-left:.5em;padding:0 .5em;border-radius:999px;border:1px solid var(--frame-border);background:var(--frame-bg-2);color:var(--frame-text-dim);font-size:.72rem;font-weight:600;line-height:1.6;white-space:nowrap}.demo-banner{display:flex;align-items:center;gap:.5em;background:var(--amber-soft);border:1px solid var(--amber);color:var(--amber);border-radius:var(--radius-sm);padding:.45em .9em;font-size:.85rem;font-weight:600;line-height:1.45}.state-panel{text-align:center;padding:3rem 1.5rem;color:var(--ink-soft)}.state-panel h2{margin-bottom:.4em}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:899px){.card{padding:.9rem 1rem}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:1rem;top:-3rem;background:var(--navy);color:var(--canvas);padding:.5em 1em;border-radius:var(--radius-sm);z-index:100;transition:top .15s ease}.skip-link:focus{top:1rem}
