@layer reset, base, components, pages, responsive, refinement;
@layer reset {
  *,*::before,*::after { box-sizing:border-box; }
  body,h1,h2,h3,p { margin:0; }
  button,input,textarea,select { font:inherit; }
  button,a,input,textarea,select { -webkit-tap-highlight-color:transparent; }
  button { cursor:pointer; }
  img { max-width:100%; display:block; }
  a { color:inherit; text-decoration:none; }
}
@layer base {
  :root { --paper:#fff; --white:#fff; --ink:#17191d; --muted:#62676f; --green:#17191d; --green-soft:#f3f4f6; --line:#e4e6ea; --orange:#8a641d; --danger:#b8342e; --radius:14px; --accent:#354fe4; }
  html { scroll-behavior:smooth; scroll-padding-top:90px; }
  body { color:var(--ink); background:var(--paper); font-family:'Avenir Next','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif; font-size:16px; line-height:1.7; }
  h1,h2,h3 { font-weight:600; line-height:1.35; letter-spacing:-.035em; }
  h1 { font-size:clamp(34px,4.5vw,64px); } h2 { font-size:clamp(26px,2.4vw,36px); } h3 { font-size:20px; }
  p { color:var(--muted); } small,.fine-print { font-size:13px; line-height:1.65; color:var(--muted); }
  :focus-visible { outline:3px solid #688d35; outline-offset:4px; }
  button:disabled { cursor:not-allowed; opacity:.55; }
  ::selection { background:#d5e4bc; }
  input,textarea,select { font-size:16px; width:100%; min-height:48px; padding:11px 14px; color:var(--ink); background:var(--white); border:1px solid #bfcbbf; border-radius:8px; outline-offset:2px; }
  textarea { resize:vertical; line-height:1.7; }
  input[type=checkbox] { width:19px; height:19px; min-height:19px; padding:0; accent-color:var(--green); flex-shrink:0; }
  label { display:block; } table { width:100%; border-collapse:collapse; font-size:14px; } th,td { text-align:left; padding:14px 12px; border-bottom:1px solid var(--line); white-space:nowrap; } th { font-weight:500; color:var(--muted); }
  svg { flex-shrink:0; vertical-align:middle; }
}
@layer components {
  .wrap { width:min(1200px,calc(100% - 80px)); margin-inline:auto; }
  .eyebrow { display:block; font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--green); margin-bottom:16px; }
  .muted { color:var(--muted); } .full { width:100%; } .field-label { font-size:14px; font-weight:600; margin:22px 0 8px; }
  .brand { min-height:44px; display:inline-flex; align-items:center; gap:12px; font-size:18px; font-weight:600; line-height:1.4; }
  .brand-symbol { display:inline-grid; place-items:center; width:38px; height:38px; border:1px solid var(--green); color:var(--green); border-radius:10px; font-size:23px; line-height:1; }
  .brand-logo { width:38px; height:38px; object-fit:contain; }
  .btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:46px; padding:11px 20px; border:1px solid transparent; border-radius:8px; font-weight:500; font-size:14px; transition:background .15s,transform .15s; }
  .btn-primary { background:var(--green); color:#fff; border-color:var(--green); } .btn-primary:hover { background:#173c2b; }
  .btn-outline { background:transparent; color:var(--green); border-color:#9bae99; } .btn-outline:hover { background:var(--green-soft); }
  .btn-subtle { background:var(--green-soft); color:var(--green); } .btn-small { min-height:44px; padding:8px 16px; } .btn-large { min-height:52px; padding:15px 24px; }
  .text-button,.text-link { display:inline-flex; align-items:center; gap:7px; border:0; background:transparent; color:var(--green); font-size:14px; padding:10px 0; min-height:44px; }
  .text-button:hover,.text-link:hover { text-decoration:underline; } .back-link { display:inline-flex; align-items:center; gap:8px; color:var(--muted); font-size:14px; min-height:44px; }
  .icon-button { border:0; background:transparent; display:grid; place-items:center; width:44px; height:44px; border-radius:8px; }
  .notice { display:flex; align-items:flex-start; gap:12px; background:#f2ebdc; color:#71511e; border:1px solid #e4d6bb; padding:16px; border-radius:9px; font-size:14px; margin:18px 0; }
  .notice svg { margin-top:3px; } .notice.error { color:var(--danger); background:#fcf1ed; border-color:#eed3c9; } .notice.light { background:var(--green-soft); color:var(--green); border-color:var(--line); }
  .status-pill,.tag { display:inline-flex; align-items:center; padding:5px 10px; font-size:12px; border-radius:6px; background:#eef0e9; color:var(--muted); white-space:nowrap; }
  .status-pill.success { background:#e5eddf; color:#305539; } .status-pill.warning { background:#f4ead9; color:#80531c; }
  .small-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; } .small-heading h2 { font-size:20px; }
  .mini-icon { display:inline-grid; place-items:center; width:44px; height:44px; background:var(--green-soft); border-radius:12px; }
  .empty-state { padding:60px 24px; text-align:center; } .empty-state>svg { color:#819181; margin-bottom:16px; } .empty-state h2,.empty-state h3 { margin-bottom:10px; } .empty-state p { margin-bottom:24px; }
  .table-scroll { overflow-x:auto; }
  .skip-link { position:fixed; z-index:100; top:12px; left:16px; transform:translateY(-150%); padding:10px 16px; background:var(--green); color:white; border-radius:8px; } .skip-link:focus { transform:none; }
  .loading-page { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; }
  .spinner { display:inline-block; width:16px; height:16px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:spin .7s linear infinite; } @keyframes spin { to { transform:rotate(360deg); } }
  #toast { position:fixed; z-index:100; bottom:28px; left:50%; transform:translate(-50%,10px); border-radius:10px; background:var(--ink); color:#fff; max-width:90%; padding:12px 20px; opacity:0; pointer-events:none; transition:opacity .2s,transform .2s; } #toast.shown { opacity:1; transform:translate(-50%,0); }
  dialog { border:1px solid var(--line); border-radius:18px; padding:30px; background:var(--white); width:min(460px,calc(100% - 32px)); color:var(--ink); max-height:90dvh; overflow-y:auto; } dialog::backdrop { background:#20382e70; backdrop-filter:blur(3px); }
  .dialog-head { display:flex; align-items:center; justify-content:space-between; } .dialog-head .eyebrow { margin:0; } dialog h2 { font-size:27px; margin:16px 0 12px; } .dialog-foot { font-size:13px; border-top:1px solid var(--line); padding-top:18px; margin-top:20px; }
  .selected-plan { display:grid; gap:6px; margin-top:22px; padding:16px; border:1px solid var(--line); border-radius:10px; background:#f1f3e8; } .selected-plan>span { font-size:14px; } .selected-plan>strong { font-size:25px; font-weight:500; } .selected-plan small { font-size:11px; }
  .qr-wrap { display:grid; justify-items:center; gap:12px; margin:24px 0; text-align:center; } .qr-wrap>img { width:190px; height:190px; object-fit:contain; border:1px solid var(--line); padding:8px; border-radius:10px; background:white; } .qr-wrap>p { font-size:12px; }
  .contact-value { display:flex; justify-content:space-between; align-items:center; gap:16px; border:1px solid var(--line); padding:15px; border-radius:10px; margin:22px 0; } .contact-value>div { display:grid; gap:4px; min-width:0; } .contact-value strong { font-size:16px; overflow-wrap:anywhere; font-weight:500; } .contact-value .btn { flex-shrink:0; }
  .selectable { user-select:text; } .contact-hours { display:flex; align-items:center; gap:8px; font-size:13px; margin:15px 0; } .contact-fallback { border-top:1px solid var(--line); padding-top:16px; margin-top:20px; font-size:13px; } .contact-fallback summary { cursor:pointer; min-height:44px; } #contact-message { font-size:16px; margin-bottom:6px; } #contact-dialog>.btn { margin-top:16px; }
}
@layer pages {
  .site-header { position:sticky; top:0; z-index:15; background:#f7f7f0f0; backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
  .header-inner { width:min(1280px,calc(100% - 80px)); min-height:88px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:32px; }
  .header-inner>.brand { min-width:0; } .header-inner .brand-name { max-width:260px; overflow-wrap:anywhere; }
  #site-nav { display:flex; align-items:center; gap:30px; color:var(--muted); font-size:14px; } #site-nav>a { min-height:44px; display:inline-flex; align-items:center; }
  .header-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; } .nav-toggle { display:none; }
  .preview-banner { padding:12px 20px; background:#e8edca; text-align:center; color:var(--green); font-size:14px; } .preview-banner>a { text-decoration:underline; margin-left:18px; }
  .announcement { padding:12px 0; background:#ecefe4; color:var(--green); font-size:14px; overflow-wrap:anywhere; }
  .hero { display:grid; grid-template-columns:1.1fr 1fr; gap:70px; align-items:center; padding-block:76px 70px; }
  .hero-copy .eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:24px; } .live-dot { width:6px; height:6px; background:var(--green); border-radius:50%; }
  .hero h1 { line-height:1.3; font-size:clamp(38px,4.6vw,66px); margin-bottom:27px; overflow-wrap:anywhere; }
  .hero-description { max-width:490px; font-size:17px; line-height:1.9; } .hero-purpose { margin-top:12px; font-size:13px; max-width:480px; }
  .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:23px; margin-top:32px; } .hero-secondary { display:inline-flex; align-items:center; gap:6px; font-size:14px; color:var(--green); min-height:48px; }
  .hero-secondary:hover { text-decoration:underline; } .hero-notes { margin-top:30px; display:flex; flex-wrap:wrap; gap:24px; font-size:12px; color:var(--muted); } .hero-notes>span { display:flex; align-items:center; gap:6px; }
  .hero-art { position:relative; background:var(--green); color:#f6f6e4; padding:32px 35px 26px; border-radius:18px 18px 5px 5px; box-shadow:8px 10px 0 #e2e6d4; }
  .hero-art::before,.hero-art::after { content:''; position:absolute; width:22px; height:22px; background:var(--paper); border-radius:50%; bottom:51px; } .hero-art::before { left:-11px; } .hero-art::after { right:-11px; }
  .ticket-label { display:flex; justify-content:space-between; align-items:center; font-size:10px; letter-spacing:.1em; color:#c0d2a8; } .ticket-mark { font-size:28px; line-height:1; }
  .ticket-title { font-size:30px; font-weight:500; line-height:1.55; margin:28px 0 24px; letter-spacing:-.025em; } .ticket-title>span { display:block; font-size:15px; margin-top:8px; font-weight:400; color:#d3dec9; letter-spacing:0; }
  .ticket-steps { border-top:1px solid #789276; } .ticket-steps>div { display:flex; align-items:center; gap:17px; padding:21px 0; border-bottom:1px solid #53725b; } .ticket-steps>div>span { font-size:12px; color:#c0d2a8; }
  .ticket-steps>div>div { display:grid; gap:4px; flex:1; } .ticket-steps strong { font-size:15px; font-weight:500; } .ticket-steps small { color:#ced8c1; font-size:11px; } .ticket-steps>div>svg { color:#b7c997; }
  .ticket-bottom { margin-top:18px; display:flex; justify-content:space-between; gap:16px; font-size:10px; color:#d4dfcd; } .ticket-stamp { position:absolute; right:24px; top:91px; font-size:9px; color:#d4e59b; text-align:center; border:1px solid #8ca466; padding:5px 8px; transform:rotate(10deg); line-height:1.2; letter-spacing:.03em; }
  .eligibility { display:flex; gap:14px; align-items:center; padding:19px 23px; background:#eef0e4; border:1px solid var(--line); border-radius:10px; } .eligibility p { font-size:13px; flex:1; } .eligibility strong { color:var(--ink); font-weight:500; } .eligibility>.text-button { white-space:nowrap; }
  .plans-section { padding-block:78px 76px; } .section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:32px; } .section-heading .eyebrow { margin-bottom:12px; } .section-heading>p { font-size:13px; line-height:1.85; }
  .setup-note { font-size:13px; color:var(--muted); border:1px solid var(--line); padding:13px 18px; border-radius:8px; margin-bottom:22px; }
  .plans-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
  .plan-card { display:flex; flex-direction:column; padding:26px 22px; border:1px solid var(--line); border-radius:14px; background:var(--white); min-width:0; }
  .plan-card.featured { background:#edf0e2; border-color:#9db38d; } .plan-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:25px; gap:10px; min-height:27px; }
  .plan-index { font-size:12px; color:var(--muted); letter-spacing:.08em; } .plan-card .tag { background:#d8e4c3; color:#365137; font-size:10px; padding:4px 7px; }
  .plan-card h3 { font-size:24px; overflow-wrap:anywhere; min-height:34px; } .plan-description { font-size:12px; line-height:1.7; margin-top:8px; min-height:43px; }
  .plan-price { display:flex; align-items:baseline; gap:3px; margin-top:22px; line-height:1.3; color:var(--ink); } .plan-price>span { font-size:20px; } .plan-price>strong { font-size:43px; font-weight:500; letter-spacing:-.06em; } .plan-price>.pending-price { font-size:23px; color:var(--muted); letter-spacing:-.02em; }
  .plan-period { font-size:12px; margin-top:8px; } .official-price { margin-top:23px; padding-top:17px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:8px; align-items:center; font-size:11px; color:var(--muted); }
  .official-price>strong { font-weight:500; color:var(--green); font-size:14px; } .official-price small { font-size:10px; }
  .comparison-note { color:var(--muted); font-size:11px; line-height:1.8; margin-top:12px; } .comparison-box { display:grid; gap:6px; border-radius:8px; background:#eef2e7; border:1px solid var(--line); padding:13px; margin-top:14px; } .comparison-box>span { font-size:11px; color:var(--muted); } .comparison-box>strong { font-size:16px; font-weight:500; } .comparison-box strong small { font-size:11px; font-weight:400; } .comparison-box p { color:var(--green); font-size:12px; } .comparison-box>small { font-size:10px; line-height:1.8; }
  .plan-features { list-style:none; padding:0; margin:20px 0 26px; display:grid; gap:12px; flex:1; } .plan-features li { display:flex; align-items:flex-start; gap:8px; font-size:14px; color:#4c6354; line-height:1.75; } .plan-features svg { margin-top:3px; color:#668050; }
  .route-note { font-size:12px; color:var(--muted); line-height:1.8; padding:13px 0; border-top:1px solid var(--line); margin-bottom:9px; } .plan-card .btn { font-size:14px; padding-inline:10px; gap:5px; }
  .plan-draft { display:block; text-align:center; margin-top:10px; font-size:10px; } .pricing-footnote { font-size:12px; line-height:1.85; margin-top:24px; } .pricing-footnote>a { display:inline-flex; align-items:center; min-height:44px; color:var(--green); text-decoration:underline; margin-left:8px; }
  .how-section { background:#e9ecdf; padding-block:65px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); } .how-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
  .how-grid article { padding:10px 0; } .how-number { display:inline-block; font-size:13px; color:#526d47; border-bottom:1px solid #9dad8b; padding-bottom:10px; margin-bottom:22px; } .how-grid h3 { margin-bottom:14px; } .how-grid p { font-size:14px; line-height:1.85; margin-bottom:14px; } .how-hint { font-size:12px; color:var(--muted); }
  .faq-section { display:grid; grid-template-columns:1fr 1.8fr; gap:90px; padding-block:82px; } .faq-intro>p { margin:22px 0; font-size:14px; } .faq-list details { border-bottom:1px solid var(--line); }
  .faq-list summary { display:flex; align-items:center; justify-content:space-between; list-style:none; gap:18px; padding:24px 0; min-height:68px; font-size:15px; font-weight:500; cursor:pointer; } .faq-list summary::-webkit-details-marker { display:none; }
  .faq-list summary span { font-size:22px; color:#526d47; font-weight:400; } .faq-list details[open] summary span { transform:rotate(45deg); } .faq-list p { font-size:14px; line-height:1.95; padding-bottom:25px; white-space:pre-wrap; overflow-wrap:anywhere; }
  .help-band { display:flex; align-items:center; justify-content:space-between; gap:40px; background:var(--green); padding:40px 46px; border-radius:16px; margin-bottom:70px; } .help-band h2 { color:#f5f6df; font-size:29px; } .help-band .eyebrow { color:#cbd7ac; } .help-band p { color:#d2ddc8; font-size:13px; margin-top:16px; max-width:700px; } .help-band .btn { flex-shrink:0; background:#e4e9b9; color:#284932; border-color:#e4e9b9; }
  .site-footer { border-top:1px solid var(--line); padding-block:38px; } .footer-inner { width:min(1200px,calc(100% - 80px)); margin:auto; display:flex; justify-content:space-between; align-items:center; gap:30px; }
  .site-footer p { margin-top:14px; font-size:12px; } .footer-links { display:flex; align-items:center; gap:26px; color:var(--muted); font-size:12px; } .footer-links>a { display:inline-flex; align-items:center; min-height:44px; }
  .prose-page { max-width:820px; padding-block:68px 90px; } .prose-page h1 { font-size:46px; margin-bottom:28px; } .prose-page h2 { font-size:25px; margin:38px 0 20px; } .prose-page p { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.9; margin-bottom:22px; }
  .redeem-page { max-width:1120px; padding-block:48px 70px; } .redeem-title { margin-bottom:38px; } .redeem-title>.eyebrow { margin-top:18px; } .redeem-title h1 { font-size:40px; margin-bottom:16px; } .redeem-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:42px; }
  .wizard-steps { list-style:none; padding:0; margin:0; } .wizard-steps li { display:flex; align-items:flex-start; gap:13px; padding:20px 0; } .wizard-steps li>span { display:grid; place-items:center; border:1px solid #b9c6af; color:var(--muted); width:33px; height:33px; border-radius:50%; font-size:13px; flex-shrink:0; } .wizard-steps li strong { font-size:14px; font-weight:500; display:block; } .wizard-steps li small { display:block; font-size:11px; margin-top:5px; } .wizard-steps .current>span,.wizard-steps .done>span { background:var(--green); border-color:var(--green); color:white; } .wizard-steps .current strong { color:var(--green); font-weight:600; }
  .wizard-panel,.recent-orders { border:1px solid var(--line); border-radius:16px; padding:32px; background:var(--white); } .panel-heading .eyebrow { margin-bottom:12px; } .panel-heading h2 { font-size:29px; margin-bottom:14px; } .panel-heading p { font-size:14px; line-height:1.85; }
  .panel-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:25px; padding-top:16px; border-top:1px solid var(--line); font-size:13px; color:var(--muted); } .recent-orders { margin-top:26px; padding:25px 30px; } .recent-orders h3 { font-size:17px; } .empty-orders { display:flex; justify-content:center; align-items:center; gap:12px; padding:27px 0; color:var(--muted); font-size:14px; }
  .voucher-ready { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:15px; background:var(--green-soft); border:1px solid var(--line); border-radius:8px; margin-top:22px; font-size:13px; } .voucher-ready span { margin-left:auto; color:var(--muted); }
  .tutorial { border:1px solid var(--line); border-radius:9px; padding:16px; margin-top:22px; } .tutorial summary { cursor:pointer; display:flex; justify-content:space-between; font-size:14px; font-weight:500; } .tutorial p { font-size:14px; line-height:1.9; margin-top:16px; white-space:pre-wrap; } .tutorial summary>span { font-size:11px; color:var(--muted); } .form-actions { display:flex; justify-content:space-between; gap:16px; margin-top:24px; }
  .confirmation-summary { margin:24px 0; } .confirmation-summary>div { display:grid; grid-template-columns:150px 1fr; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); font-size:14px; } .confirmation-summary dt { color:var(--muted); } .confirmation-summary dd { margin:0; overflow-wrap:anywhere; font-weight:500; } .privacy-inline { padding:18px; background:#f0f2e6; border:1px solid var(--line); border-radius:9px; margin:16px 0; } .privacy-inline>strong { font-size:14px; } .privacy-inline p { font-size:14px; line-height:1.9; white-space:pre-wrap; margin:12px 0; } .privacy-inline a { display:inline-flex; align-items:center; min-height:44px; font-size:12px; color:var(--green); text-decoration:underline; }
  .device-help { margin-top:15px; border-top:1px solid var(--line); padding-top:12px; } .device-help summary { min-height:36px; } .device-help p { font-size:13px; }
  .result-symbol { display:grid; place-items:center; width:64px; height:64px; background:var(--green-soft); border:1px solid var(--line); color:var(--green); border-radius:50%; margin:0 auto 23px; } .result-symbol.warning { background:#f4ead8; color:#8d622b; } .result-heading { text-align:center; } .order-number { display:flex; align-items:center; gap:12px; padding:17px; border:1px solid var(--line); border-radius:9px; background:#f3f4ed; margin:26px 0; font-size:12px; } .order-number>strong { overflow-wrap:anywhere; flex:1; font-size:13px; font-weight:500; } .order-number>span { flex-shrink:0; color:var(--muted); } .result-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:26px 0; }
  .recent-order { display:flex; width:100%; text-align:left; align-items:center; gap:14px; padding:16px 0; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); } .recent-order>div { flex:1; min-width:0; } .recent-order strong { display:block; font-size:13px; overflow-wrap:anywhere; font-weight:500; } .recent-order small { font-size:11px; } .phase-track { display:flex; justify-content:space-between; gap:8px; font-size:11px; color:var(--muted); margin:24px 0; } .phase-track>span { display:grid; justify-items:center; gap:10px; } .phase-track i { width:9px; height:9px; border-radius:50%; background:#d2dacb; } .phase-track .active i,.phase-track .complete i { background:var(--green); }
  .admin-login { display:grid; grid-template-columns:1fr 1fr; min-height:100dvh; }
  .login-story { background:var(--green); color:#faf9e8; padding:56px clamp(32px,5vw,84px); display:flex; flex-direction:column; justify-content:space-between; gap:64px; }
  .login-story .brand-symbol { border-color:#9fae85; color:#e8edb5; } .login-story .eyebrow,.login-story .back-link { color:#d3debe; } .login-story p { color:#d4dfd2; margin-top:28px; line-height:1.9; }
  .login-story h1 { font-size:clamp(34px,3.5vw,52px); line-height:1.45; } .login-story-line { width:56px; height:1px; background:#9bb095; margin:38px 0 24px; } .login-caption { color:#c0d0b5; font-size:11px; letter-spacing:.16em; }
  .login-form-panel { display:flex; align-items:center; justify-content:center; padding:60px 36px; }
  .login-form-wrap { width:min(380px,100%); } .login-form-wrap h2 { font-size:36px; margin-bottom:16px; } .login-form-wrap form { margin-top:30px; } .login-form-wrap form>.btn { margin-top:26px; } .login-help { margin-top:24px; }
  .password-field { position:relative; } .password-field input { padding-right:60px; } .password-field .text-button { position:absolute; right:14px; top:2px; }
  .admin-layout { display:grid; grid-template-columns:244px minmax(0,1fr); min-height:100dvh; }
  .admin-sidebar { position:sticky; top:0; height:100dvh; padding:32px 20px 24px; border-right:1px solid var(--line); background:#eeeee5; display:flex; flex-direction:column; }
  .admin-sidebar>.brand { padding:0 8px; overflow-wrap:anywhere; } .workspace-label { font-size:11px; color:var(--muted); letter-spacing:.12em; margin:10px 8px 35px; }
  .admin-nav-disclosure summary { display:none; } .admin-nav-link { min-height:47px; display:flex; align-items:center; gap:14px; padding:10px 14px; border-radius:8px; color:#4d6556; font-size:14px; margin:3px 0; }
  .admin-nav-link:hover { background:#e1e6d9; } .admin-nav-link[aria-current] { background:var(--green); color:#fff; } .admin-sidebar-bottom { margin-top:auto; padding:24px 10px 0; display:grid; gap:15px; }
  .admin-workspace { min-width:0; } .admin-topbar { height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 44px; border-bottom:1px solid var(--line); background:#fafaf4; font-size:13px; color:var(--muted); }
  .admin-topbar strong { color:var(--ink); font-weight:500; margin-left:8px; } .admin-main { width:min(1140px,100%); padding:40px 44px 80px; } .admin-page-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:32px; gap:20px; }
  .admin-page-heading h1 { font-size:32px; } .admin-page-heading .eyebrow { margin-bottom:9px; } .admin-intro { margin:12px 0 28px; } .admin-intro h2 { font-size:26px; margin-bottom:12px; }
  .admin-status-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--white); margin-bottom:30px; }
  .admin-status-grid article { display:grid; gap:12px; padding:25px; border-right:1px solid var(--line); } .admin-status-grid article:last-child { border:0; } .admin-status-grid article>span { font-size:13px; color:var(--muted); } .admin-status-grid strong { font-weight:500; font-size:22px; }
  .admin-card { border:1px solid var(--line); border-radius:var(--radius); padding:28px; background:var(--white); margin-bottom:24px; } .admin-card>h2 { font-size:22px; margin-bottom:12px; }
  .setup-links { display:grid; margin-top:22px; } .setup-links>a { display:flex; gap:18px; align-items:center; padding:22px 0; border-top:1px solid var(--line); } .setup-links>a>svg:last-child { margin-left:auto; } .setup-links p { font-size:13px; margin-top:5px; }
  .readiness-list { margin-top:25px; } .readiness-list>div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0; border-top:1px solid var(--line); font-size:14px; }
  .editor-grid { display:grid; grid-template-columns:1fr 1fr; column-gap:24px; } .editor-field { min-width:0; } .editor-field .fine-print { margin-top:8px; } .field-error { color:var(--danger); font-size:13px; margin-top:7px; } .field-error:empty { display:none; }
  .image-editor { margin:20px 0; padding:4px 0 20px; border-bottom:1px solid var(--line); } .image-preview { display:grid; place-items:center; width:128px; height:128px; background:#f4f5ef; border:1px dashed #bbc8b8; border-radius:12px; margin-bottom:16px; } .image-preview img { max-height:112px; max-width:112px; object-fit:contain; } .image-preview>span { display:grid; justify-items:center; gap:9px; color:var(--muted); font-size:13px; }
  .inline-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; } .image-editor>.fine-print { margin-top:10px; } .editor-details { margin:24px 0 10px; border:1px solid var(--line); padding:14px 20px; border-radius:10px; } .editor-details summary { font-weight:500; cursor:pointer; min-height:32px; }
  .check-row { display:flex; gap:12px; align-items:flex-start; padding:16px 0; font-size:14px; } .check-row input { margin-top:3px; }
  .editor-savebar { position:sticky; bottom:14px; z-index:5; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; background:#fffefaf5; border:1px solid var(--line); border-radius:12px; padding:16px 20px; box-shadow:0 6px 24px #213a300a; backdrop-filter:blur(8px); } #editor-status { font-size:13px; color:var(--green); }
  .plan-editor summary { display:flex; justify-content:space-between; gap:12px; align-items:center; } .plan-editor summary small { font-weight:400; } .faq-editor { border-top:1px solid var(--line); margin-top:22px; padding-top:6px; } .config-summary { padding:12px 0; } .config-summary dl { margin:0 0 24px; } .config-summary dl>div { display:grid; grid-template-columns:90px 1fr; border-bottom:1px solid var(--line); padding:12px 0; gap:10px; font-size:14px; } .config-summary dt { color:var(--muted); } .config-summary dd { margin:0; overflow-wrap:anywhere; } .config-summary h3 { font-size:18px; margin-bottom:10px; } .config-summary p { font-size:14px; margin:12px 0; } .plain-text { white-space:pre-wrap; overflow-wrap:anywhere; } #admin-dialog { width:min(640px,calc(100% - 32px)); }
}
@layer responsive {
  @media(max-width:1100px) { .hero { gap:38px; } #site-nav { gap:18px; } .header-inner { gap:20px; } .plans-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .faq-section { gap:50px; } .hero-art { padding:28px; } }
  @media(max-width:800px) { .hero { grid-template-columns:1fr; gap:36px; padding-block:48px 42px; } .hero-copy { max-width:620px; } .hero-art { max-width:560px; } .ticket-title { font-size:29px; } .hero h1 { font-size:46px; } #site-nav { gap:15px; } .header-inner>.brand { font-size:15px; } .how-grid { gap:24px; } .section-heading { align-items:flex-start; flex-direction:column; gap:18px; } .faq-section { grid-template-columns:1fr; gap:32px; } .faq-intro h2 br { display:none; } .help-band { padding:30px; flex-direction:column; align-items:flex-start; gap:24px; } .footer-inner { flex-direction:column; align-items:flex-start; gap:22px; } }
  @media(max-width:1000px) { .admin-layout { grid-template-columns:210px minmax(0,1fr); } .admin-main { padding:32px 26px 60px; } .admin-topbar { padding:0 26px; } .admin-status-grid { grid-template-columns:1fr; } .admin-status-grid article { border-right:0; border-bottom:1px solid var(--line); } }
  @media(max-width:700px) { .wrap { width:calc(100% - 36px); } .admin-login { grid-template-columns:1fr; } .login-story { padding:28px; gap:28px; } .login-story h1 { font-size:34px; } .login-story>div { display:none; } .login-story>.back-link { min-height:44px; } .login-form-panel { padding:42px 28px; } .admin-layout { display:block; } .admin-sidebar { position:static; height:auto; padding:22px 18px 8px; border-right:0; border-bottom:1px solid var(--line); } .workspace-label,.admin-sidebar-bottom { display:none; } .admin-nav-disclosure { margin-top:15px; } .admin-nav-disclosure summary { min-height:44px; display:flex; justify-content:space-between; align-items:center; padding:8px; cursor:pointer; color:var(--green); font-size:14px; } .admin-nav-disclosure nav { display:grid; grid-template-columns:1fr 1fr; padding-bottom:12px; } .admin-nav-link { padding:10px; gap:9px; } .admin-topbar { height:60px; padding:0 22px; } .admin-main { padding:28px 18px 50px; } .admin-page-heading { margin-bottom:26px; } .admin-page-heading h1 { font-size:28px; } .admin-intro h2 { font-size:23px; } .admin-card { padding:22px; } .small-heading { align-items:flex-start; flex-direction:column; gap:8px; } }
  .phase-info{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:9px;background:var(--green-soft);padding:15px;font-size:14px;line-height:1.7}.phase-info svg{flex-shrink:0}
  #admin-order-results table small{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.6}.order-id{font-size:12px;overflow-wrap:anywhere}.table-scroll td{vertical-align:top}#order-pagination{margin-top:20px}#order-detail-body .editor-grid{margin-block:20px}
  @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
  @media(max-width:700px) { .editor-grid { grid-template-columns:1fr; } .editor-savebar { padding:14px; gap:10px; } .editor-savebar .inline-actions { width:100%; gap:9px; } .editor-savebar .btn { flex:1; padding-inline:10px; } .editor-details { padding:12px; } }
  @media(max-width:700px) { .header-inner { width:calc(100% - 36px); min-height:76px; gap:10px; } .header-inner .brand-name { max-width:150px; font-size:15px; } .header-inner .brand-symbol,.header-inner .brand-logo { width:32px; height:32px; flex-shrink:0; } .header-inner .brand { gap:8px; } .header-actions { gap:2px; } .header-actions .btn { padding-inline:10px; font-size:12px; } .nav-toggle { display:grid; } #site-nav { position:absolute; top:100%; left:0; width:100%; padding:18px; display:none; border-bottom:1px solid var(--line); background:var(--paper); box-shadow:0 10px 16px #213a3008; } #site-nav[data-open=true] { display:grid; grid-template-columns:1fr 1fr; gap:8px; } #site-nav a,#site-nav button { justify-content:center; } .hero h1 { font-size:41px; } .hero-description { font-size:16px; } .hero-purpose { font-size:12px; } .hero-actions { margin-top:26px; gap:16px; } .hero-notes { gap:18px; margin-top:22px; } .hero-art { padding:24px; box-shadow:5px 6px 0 #e2e6d4; } .ticket-title { font-size:26px; } .ticket-stamp { top:78px; right:22px; } .ticket-steps strong { font-size:14px; } .eligibility { align-items:flex-start; flex-wrap:wrap; gap:12px; padding:17px; } .eligibility p { flex:1; min-width:200px; font-size:12px; } .eligibility>.text-button { margin-left:32px; padding-block:3px; } .plans-section { padding-block:52px; } .section-heading h2 { font-size:29px; } .plans-grid { grid-template-columns:1fr; gap:18px; } .plan-card { padding:26px; } .plan-description { min-height:0; } .plan-features li { font-size:14px; } .route-note,.plan-draft { font-size:12px; } .plan-card .btn { font-size:14px; } .how-section { padding-block:46px; } .how-grid { grid-template-columns:1fr; gap:12px; } .how-grid article+article { border-top:1px solid #c7d0bd; padding-top:28px; } .how-number { margin-bottom:16px; } .faq-section { padding-block:50px; } .faq-list summary { font-size:14px; padding-block:21px; } .help-band { padding:27px; margin-bottom:46px; } .help-band h2 { font-size:25px; } .footer-inner { width:calc(100% - 36px); } .footer-links { gap:16px; flex-wrap:wrap; } .prose-page { padding-block:42px; } .prose-page h1 { font-size:36px; } }
  @media(max-width:800px) { .redeem-layout { grid-template-columns:1fr; gap:22px; } .redeem-title h1 { font-size:34px; } .wizard-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; } .wizard-steps li { align-items:center; text-align:center; padding:10px 0; flex-direction:column; gap:8px; } .wizard-steps li strong { font-size:12px; } .wizard-steps li small { display:none; } .wizard-panel { padding:25px; } .recent-orders { padding:22px; } .panel-heading h2 { font-size:26px; } }
}

@layer responsive {
  summary { min-height:44px; }
  .tutorial summary,.device-help summary,.editor-details summary { min-height:44px; align-items:center; }
  .password-field .text-button { min-width:44px; flex-shrink:0; }
  dialog { padding-bottom:max(30px,env(safe-area-inset-bottom)); scroll-padding-block:24px; }
  .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
  .editor-grid>* { min-width:0; }
  .icon-button { flex-shrink:0; }
  .dialog-head h2 { min-width:0; overflow-wrap:anywhere; }
  .preview-banner>a { display:inline-flex; align-items:center; min-height:44px; }
}

@layer refinement {
  body { font-family:'Avenir Next','PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif; letter-spacing:-.012em; }
  .wrap { width:min(1120px,calc(100% - 80px)); }
  :focus-visible { outline-color:var(--accent); }
  ::selection { background:#dfe6ff; }
  .btn { border-radius:999px; font-size:14px; font-weight:500; gap:12px; min-height:46px; transition:background .18s,border-color .18s,transform .18s; }
  .btn-primary { background:var(--ink); border-color:var(--ink); color:white; }
  .btn-primary:hover { background:#343840; border-color:#343840; }
  .btn-outline { border-color:#d3d6dc; background:transparent; color:var(--ink); }
  .btn-outline:hover { background:#f4f5f7; border-color:#a9afb9; }
  .btn-subtle { background:#f3f4f7; }
  .btn-large { padding:14px 24px; min-height:50px; }
  .btn-small { padding:9px 19px; min-height:44px; }
  .text-button,.text-link { color:var(--ink); }
  .text-button:hover,.text-link:hover { color:var(--accent); }
  .eyebrow { color:#606873; font-size:11px; letter-spacing:.14em; font-weight:500; }
  .site-header { background:#ffffffed; border-bottom:1px solid #eceef1; backdrop-filter:blur(14px); }
  .header-inner { width:min(1120px,calc(100% - 80px)); min-height:76px; }
  .brand { font-size:17px; font-weight:600; letter-spacing:-.035em; }
  .brand-symbol { border:0; border-radius:8px; background:var(--ink); color:white; width:33px; height:33px; font-size:21px; }
  .brand-symbol>span { display:none; }
  .brand-logo { width:33px; height:33px; border-radius:7px; }
  #site-nav { gap:27px; font-size:13px; }
  .preview-banner { padding:8px 20px; background:#f5f6f8; border-bottom:1px solid #e5e7ec; color:#5a616d; font-size:12px; }
  .announcement { background:#fafbfc; color:#545e6d; border-bottom:1px solid #f0f1f4; font-size:12px; padding:9px 0; }
  .hero-video-section { padding:24px 0 0; }
  .hero-video-surface { position:relative; width:100%; aspect-ratio:16/9; border:1px solid #e0e3e8; border-radius:18px; overflow:hidden; isolation:isolate; background:#f3f4f6; }
  .hero-cover-button { display:block; width:100%; height:100%; border:0; padding:0; background:transparent; color:var(--ink); position:absolute; inset:0; }
  .hero-cover-button:focus-visible { outline-offset:-6px; border-radius:18px; }
  .hero-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#f1f2f5; }
  .hero-player { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; background:#08090b; }
  .hero-poster-default { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; background:#f0f2f6; overflow:hidden; }
  .poster-grid { position:absolute; inset:0; background-image:linear-gradient(#b8c0d215 1px,transparent 1px),linear-gradient(90deg,#b8c0d215 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(110deg,#000,transparent 75%); pointer-events:none; }
  .hero-poster-default::after { content:''; position:absolute; width:58%; aspect-ratio:1; border:1px solid #d4d9e350; border-radius:50%; top:-68%; right:-7%; pointer-events:none; }
  .poster-label { position:absolute; top:38px; left:40px; font-family:'SFMono-Regular',Consolas,monospace; font-size:11px; letter-spacing:.13em; color:#616a78; }
  .poster-name { position:relative; color:#15191f; font-size:clamp(70px,12vw,155px); font-weight:500; line-height:1; letter-spacing:-.065em; }
  .poster-cursor { color:#6271a1; font-weight:400; margin-left:6px; }
  .poster-detail { font-size:18px; margin-top:23px; color:#6a7280; letter-spacing:.03em; }
  .poster-bottom { position:absolute; bottom:32px; left:40px; right:40px; display:flex; justify-content:space-between; align-items:center; color:#6e7580; font-family:'SFMono-Regular',Consolas,monospace; font-size:10px; letter-spacing:.07em; }
  .poster-bottom img { width:70px; height:19px; object-fit:contain; }
  .video-pending { position:absolute; bottom:78px; left:40px; display:flex; align-items:center; gap:8px; color:#67717f; font-size:11px; }
  .video-play-glyph { display:grid; place-items:center; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:74px; height:74px; border:1px solid #ffffff; border-radius:50%; background:#ffffffec; color:#15181e; box-shadow:0 4px 30px #00000015; transition:background .2s,box-shadow .2s; }
  .hero-cover-button:hover .video-play-glyph { background:white; box-shadow:0 7px 35px #00000025; }
  .video-playback-actions { display:flex; justify-content:flex-end; gap:20px; align-items:center; padding-top:8px; font-size:12px; }
  .video-playback-actions a,.video-playback-actions button { display:inline-flex; align-items:center; min-height:44px; }
  .video-playback-actions[hidden] { display:none; }
  .home-action-section { padding-block:24px 28px; }
  .home-action-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
  .home-action-card { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:44px minmax(0,1fr) 18px; align-items:center; gap:14px; min-height:148px; padding:25px 23px; border:1px solid #ffffff14; border-radius:18px; color:#fff; text-align:left; box-shadow:0 4px 12px #151b3310,inset 0 1px 0 #ffffff0c; transition:transform .18s,box-shadow .18s,border-color .18s; }
  .home-action-card::before,.home-action-card::after { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; }
  .home-action-card::before { z-index:-2; background-image:var(--action-art); background-size:cover; background-position:right center; }
  .home-action-card::after { z-index:-1; background-image:var(--action-shade); }
  .home-action-card>span { position:relative; z-index:2; }
  .action-plans { background:linear-gradient(125deg,#17243e 0%,#28385f 45%,#5045a4 100%); --action-icon:#c6c6ff; --action-art:url('/assets/actions/plan-tiers-v1.webp'); --action-shade:linear-gradient(110deg,#17243ef7 0%,#28385fdb 52%,#2f276cbd 100%); }
  .action-redeem { background:linear-gradient(125deg,#102832 0%,#16485d 45%,#226a73 100%); --action-icon:#9ee9e2; --action-art:url('/assets/actions/redeem-core-v1.webp'); --action-shade:linear-gradient(110deg,#102832f7 0%,#16485ddb 52%,#123942bd 100%); }
  .action-contact { background:linear-gradient(125deg,#2e1d3a 0%,#573151 45%,#913c65 100%); --action-icon:#ffbdd7; --action-art:url('/assets/actions/wechat-contact-v1.webp'); --action-shade:linear-gradient(110deg,#2e1d3af7 0%,#573151db 52%,#582744bd 100%); }
  .home-action-icon { display:grid; place-items:center; width:44px; height:44px; border:1px solid #ffffff1c; border-radius:13px; background:#ffffff09; color:var(--action-icon); }
  .home-action-copy { display:grid; min-width:0; gap:7px; }
  .home-action-copy strong { font-size:20px; line-height:1.35; letter-spacing:-.025em; font-weight:600; }
  .home-action-copy>span { font-size:13px; line-height:1.65; color:#eff0fa; }
  .home-action-arrow { display:flex; color:#e5e7f4; transition:transform .18s; }
  .home-action-card:hover { transform:translateY(-3px); border-color:#ffffff38; box-shadow:0 10px 24px #151b3320,inset 0 1px 0 #ffffff16; }
  .home-action-card:hover .home-action-arrow { transform:translateX(3px); }
  .home-action-card:focus-visible { outline:3px solid #5872ff; outline-offset:4px; }
  @media(max-width:900px) { .home-action-section { padding-block:18px 24px; } .home-action-grid { grid-template-columns:1fr; gap:12px; } .home-action-card { min-height:112px; padding:22px; border-radius:16px; } .home-action-copy strong { font-size:19px; } }
  @media(prefers-reduced-motion:reduce) { .home-action-card,.home-action-arrow { transition:none; } .home-action-card:hover,.home-action-card:hover .home-action-arrow { transform:none; } }
  .eligibility { background:transparent; border:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); border-radius:0; padding:16px 0; gap:11px; }
  .eligibility p { font-size:12px; color:#68717d; }
  .eligibility strong { font-weight:500; color:#424a56; }
  .eligibility>.text-button { font-size:12px; }
  .plans-section { padding-block:86px 69px; }
  .section-heading { margin-bottom:32px; }
  .section-heading h2 { font-size:32px; font-weight:600; letter-spacing:-.045em; margin-top:10px; }
  .section-heading>p { font-size:13px; line-height:1.8; }
  .plans-grid { gap:0; border:1px solid #e0e3e8; border-radius:16px; overflow:hidden; }
  .plan-card { border:0; border-radius:0; background:white; padding:27px 24px 26px; position:relative; }
  .plan-card+.plan-card { border-left:1px solid #e4e7ec; }
  .plan-card.featured { border:0; background:#f7f8fb; box-shadow:inset 0 3px 0 #202632; }
  .plan-top { min-height:22px; margin-bottom:17px; justify-content:flex-end; }
  .plan-index { display:none; }
  .tag { border-radius:999px; font-size:10px; color:#414b60; background:#e9edf5; padding:4px 9px; }
  .plan-card h3 { font-size:24px; letter-spacing:-.05em; }
  .plan-description { min-height:44px; font-size:12px; line-height:1.7; margin-top:7px; }
  .plan-price { margin-top:18px; }
  .plan-price>strong { font-size:43px; letter-spacing:-.06em; font-weight:500; }
  .plan-price>span { color:#525c69; font-size:18px; }
  .plan-period { font-size:11px; margin-top:2px; }
  .official-price { border:0; margin-top:20px; padding:12px 0 0; border-top:1px solid #e3e6eb; display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:11px; }
  .official-price strong { font-size:16px; font-weight:500; }
  .official-price small { font-size:11px; }
  .comparison-box { background:transparent; border:0; border-radius:0; padding:7px 0 0; margin:0; display:flex; flex-wrap:wrap; column-gap:7px; font-size:10px; }
  .comparison-box>span { font-size:10px; color:#6e7682; }
  .comparison-box>strong { font-size:11px; font-weight:400; color:#616a77; }
  .comparison-box small { font-size:10px; }
  .comparison-box>p { flex-basis:100%; font-size:11px; color:#354768; margin-top:3px; }
  .comparison-note { font-size:10px; padding:5px 0; }
  .plan-features { margin-block:24px 22px; gap:12px; }
  .plan-features li { font-size:12px; color:#414956; line-height:1.7; }
  .plan-features svg { color:#717d91; width:14px; margin-top:3px; }
  .route-note { font-size:10px; color:#6e7681; border-color:#e6e8ed; padding-top:14px; }
  .plan-card .btn { font-size:12px; margin-top:18px; min-height:44px; padding-inline:12px; }
  .plan-draft { font-size:10px; color:#707987; margin-top:8px; }
  .pricing-footnote { font-size:11px; margin-top:19px; color:#747c87; max-width:960px; }
  .how-section { background:#f8f9fb; border-top:1px solid #f0f1f4; border-bottom:1px solid #f0f1f4; padding-block:60px; }
  .how-grid { gap:50px; }
  .how-number { font-family:'SFMono-Regular',Consolas,monospace; font-size:12px; color:#738099; margin-bottom:18px; }
  .how-grid h3 { font-size:19px; letter-spacing:-.04em; }
  .how-grid p { font-size:13px; margin-top:9px; }
  .how-grid .text-button,.how-grid .text-link { font-size:12px; margin-top:14px; }
  .faq-section { grid-template-columns:.85fr 1.4fr; gap:94px; padding-block:80px 74px; }
  .faq-intro h2 { font-size:29px; margin-top:12px; }
  .faq-intro p { font-size:13px; margin-top:15px; }
  .product-source-link { display:inline-flex; align-items:center; gap:10px; margin-top:29px; min-height:44px; color:#48556b; font-size:12px; }
  .faq-list summary { font-size:14px; padding-block:23px; font-weight:500; }
  .faq-list p { font-size:13px; }
  .support-line { border-top:1px solid var(--line); padding-block:31px 42px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
  .support-line h2 { font-size:20px; }
  .support-line p { font-size:13px; margin-top:8px; }
  .site-footer { background:#fafbfc; border-top:1px solid #e9ecf1; }
  .footer-inner { width:min(1120px,calc(100% - 80px)); padding-block:35px; align-items:flex-start; }
  .footer-inner p { font-size:11px; margin-top:12px; }
  .brand-attribution { display:block; max-width:480px; font-size:10px; color:#737d8a; margin-top:6px; }
  input,textarea,select { border-color:#d1d5de; border-radius:9px; background:#fff; }
  .admin-layout,.admin-sidebar,.admin-topbar,.admin-main,.login-form-panel { background:white; }
  .admin-sidebar { background:#fafbfc; border-color:#e6e9ef; }
  .admin-nav-link.active { background:#eceff4; color:#182137; }
  .admin-nav-link:hover { background:#f0f2f6; }
  .admin-card { border-color:#e1e5ed; box-shadow:none; border-radius:13px; }
  .admin-topbar { border-color:#e6e9ef; }
  .admin-status-grid { border-radius:12px; background:#fafbfc; }
  .login-story { background:#eff2f7; color:#151a23; }
  .login-story p,.login-story h1,.login-story .back-link,.login-story .brand { color:inherit; }
  .login-story small { color:#636e80; }
  .editor-savebar { background:#ffffffed; border-color:#e0e5ee; }
  .video-editor .image-preview { aspect-ratio:16/9; width:min(100%,560px); height:auto; max-height:none; background:#f2f4f8; }
  .video-editor .image-preview img { width:100%; height:100%; object-fit:contain; }
  .wizard-panel,.recent-orders { border-color:#e3e6ed; background:white; box-shadow:0 8px 38px #141b2e04; border-radius:14px; }
  .redeem-title { padding-top:44px; }
  .redeem-title h1 { font-size:42px; }
  .redeem-title>p { font-size:15px; }
  .selected-plan { background:#f6f8fc; }
  .phase-info { background:#f3f5f9; }
  .notice.light { background:#f3f5fa; }
  dialog::backdrop { background:#171e3159; }
  .status-pill { background:#f0f2f6; color:#606d80; }
  .status-pill.success { color:#32604c; background:#edf5ef; }
  @media(max-width:1100px) { .plans-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .plan-card:nth-child(3) { border-left:0; } .plan-card:nth-child(n+3) { border-top:1px solid var(--line); } }
  @media(max-width:800px) { .wrap,.header-inner,.footer-inner { width:calc(100% - 44px); } .faq-section { grid-template-columns:1fr; gap:28px; } .faq-intro h2 { font-size:28px; } .how-grid { gap:24px; } }
  @media(max-width:700px) {
    .header-inner { min-height:72px; gap:8px; }
    .header-inner .brand-name { max-width:145px; font-size:14px; }
    .header-inner .brand-symbol,.header-inner .brand-logo { width:29px; height:29px; }
    .header-actions .btn { padding-inline:11px; font-size:11px; }
    #site-nav { font-size:13px; background:#fff; }
    .hero-video-section { padding-top:16px; }
    .hero-video-surface { border-radius:12px; }
    .hero-cover-button:focus-visible { border-radius:12px; }
    .poster-label { left:19px; top:18px; font-size:7px; letter-spacing:.08em; }
    .poster-name { font-size:64px; }
    .poster-detail { font-size:11px; margin-top:12px; }
    .poster-bottom { left:19px; right:19px; bottom:16px; font-size:7px; }
    .poster-bottom img { width:48px; height:13px; }
    .video-pending { bottom:46px; left:19px; font-size:8px; }
    .video-play-glyph { width:54px; height:54px; }
    .video-playback-actions { flex-wrap:wrap; gap:10px; }
    .eligibility { padding:14px 0; gap:9px; }
    .eligibility p { min-width:180px; font-size:11px; }
    .eligibility>.text-button { margin-left:0; font-size:11px; }
    .plans-section { padding-block:49px 43px; }
    .section-heading { margin-bottom:25px; gap:12px; }
    .section-heading h2 { font-size:27px; }
    .section-heading>p { font-size:12px; }
    .plans-grid { grid-template-columns:1fr; border-radius:13px; }
    .plan-card { padding:25px; }
    .plan-card+.plan-card { border-left:0; border-top:1px solid #e4e7ec; }
    .plan-top { margin-bottom:8px; }
    .plan-description { min-height:0; font-size:13px; }
    .plan-price>strong { font-size:43px; }
    .plan-period,.official-price,.comparison-box>p,.route-note,.plan-draft { font-size:12px; }
    .comparison-box>span,.comparison-box>strong,.comparison-box small { font-size:11px; }
    .plan-features li { font-size:14px; }
    .plan-card .btn { font-size:13px; }
    .how-section { padding-block:45px; }
    .how-grid { gap:21px; }
    .how-grid article+article { border-color:#dce2eb; }
    .how-number { margin-bottom:10px; }
    .faq-section { padding-block:48px; }
    .faq-list summary { font-size:14px; padding-block:20px; }
    .support-line { padding-block:27px 34px; gap:17px; }
    .support-line h2 { font-size:18px; }
    .support-line p { font-size:11px; }
    .support-line .btn { min-width:104px; font-size:12px; }
    .brand-attribution { font-size:10px; }
    .footer-links { font-size:12px; }
    .redeem-title h1 { font-size:31px; }
    .video-editor .image-preview { width:100%; }
  }
}

@layer refinement {
  .plan-period,.official-price,.comparison-note,.comparison-box>span,.comparison-box>strong,.comparison-box small,.comparison-box>p,.route-note,.plan-draft,.pricing-footnote { font-size:12px; }
  .plan-description { font-size:13px; }
  @media(max-width:700px){.brand-attribution{font-size:11px;}}
}
@layer refinement {
  .plan-draft,.pricing-footnote,.comparison-box>span,.how-number,.brand-attribution { color:#5e6877; }
  .brand-attribution { font-size:12px; }
  @media(max-width:700px){.eligibility p,.eligibility>.text-button{font-size:12px;}.brand-attribution{font-size:12px;}}
}
@layer refinement {
  .how-grid p,.faq-list p,.support-line p { font-size:16px; }
  @media(max-width:700px){.how-grid p,.faq-list p,.support-line p{font-size:16px;}}
}

@layer refinement {
  .home-action-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
  .home-action-section { padding-bottom:22px; }
  .action-support { background:linear-gradient(125deg,#112a27,#255348,#2f7256); --action-icon:#c5f4de; --action-art:url('/assets/actions/support-community-v1.webp'); --action-shade:linear-gradient(110deg,#112a27f7 0%,#255348db 52%,#193b31bd 100%); }
  .plans-section { padding-block:0 56px; }
  .plans-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; border:0; border-radius:0; overflow:visible; }
  .plans-grid>.plan-card { display:flex; flex-direction:column; min-width:0; padding:25px 20px 28px; border:1px solid #e1e2e5; border-radius:22px; background:#fdfdfd; box-shadow:none; }
  .plan-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; min-height:38px; }
  .plan-card h3 { font-size:28px; line-height:1.25; font-weight:600; letter-spacing:-.04em; overflow-wrap:anywhere; }
  .plan-card .plan-price { margin-top:26px; gap:3px; }
  .plan-card .plan-price>span { font-size:22px; color:#555b64; }
  .plan-card .plan-price>strong { font-size:54px; line-height:1.1; font-weight:500; letter-spacing:-.055em; }
  .plan-card .plan-price>.pending-price { font-size:26px; }
  .plan-card .plan-period { font-size:12px; line-height:1.7; min-height:21px; margin-top:8px; color:#646b76; }
  .plan-card .plan-description { min-height:26px; margin-top:21px; font-size:16px; line-height:1.6; font-weight:600; color:#111; }
  .plan-card .btn { min-height:48px; padding:11px 12px; margin-top:20px; font-size:13px; }
  .plan-card .plan-draft { display:block; margin-top:8px; font-size:12px; line-height:1.7; text-align:center; color:#606875; }
  .plan-price-comparison { margin-top:20px; border-block:1px solid #e7e7e9; }
  .plan-card .official-price { min-height:44px; margin:0; padding:9px 0; border:0; font-size:12px; line-height:1.6; flex-wrap:wrap; cursor:pointer; list-style:none; }
  .official-price::-webkit-details-marker { display:none; }
  .plan-card .official-price strong { font-size:14px; font-weight:500; }
  .official-price>span:last-child { display:inline-flex; align-items:center; gap:5px; color:#59616c; }
  .plan-comparison-details { padding:0 0 14px; }
  .plan-comparison-details>p { font-size:12px; line-height:1.75; margin-top:8px; }
  .plan-comparison-details a { text-decoration:underline; }
  .plan-card .comparison-box { display:grid; gap:3px; padding:5px 0; }
  .plan-card .plan-features { min-height:0; margin:25px 0 0; gap:18px; padding:0; }
  .plan-card .plan-features li { font-size:14px; line-height:1.7; color:#17191d; gap:12px; }
  .plan-card .plan-features svg { flex-shrink:0; width:22px; height:22px; color:#17191d; margin-top:1px; }
  .contact-purchase-conditions { padding:13px 15px; margin-top:18px; border:1px solid #e5e7ec; border-radius:10px; background:#f7f8fa; font-size:13px; line-height:1.75; }
  @media(max-width:1180px) { .home-action-grid,.plans-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .plan-card .plan-features li { font-size:16px; } }
  @media(max-width:700px) { .home-action-grid,.plans-grid { grid-template-columns:1fr; } .plans-grid { gap:18px; } .plans-grid>.plan-card { padding:27px 25px; border-radius:22px; } .plan-card h3 { font-size:30px; } .plan-card .plan-features { gap:19px; } .plan-card .btn { font-size:14px; } }
}

@layer refinement {
  .redeem-workspace { width:min(800px,calc(100% - 48px)); padding:24px 0 64px; }
  .redeem-workspace .redeem-title { padding:0; margin:0 0 26px; }
  .redeem-topline { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:18px; }
  .redeem-product { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:500; color:#646a75; }
  .redeem-workspace .redeem-title h1 { font-size:34px; letter-spacing:-.035em; line-height:1.3; margin:0 0 12px; }
  .redeem-workspace .redeem-title p { font-size:14px; line-height:1.8; }
  .redeem-workspace .redeem-layout { display:block; }
  .redeem-main { min-width:0; }
  .redeem-flow { border:1px solid #e4e5e9; border-radius:22px; background:#fff; box-shadow:0 5px 25px #171b2505; overflow:hidden; }
  .redeem-workspace .wizard-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:23px 36px; border-bottom:1px solid #e9eaed; background:#fafafa; }
  .redeem-workspace .wizard-steps li { position:relative; display:flex; flex-direction:row; align-items:center; text-align:left; gap:9px; padding:0; min-width:0; color:#737985; }
  .redeem-workspace .wizard-steps li strong { font-size:13px; line-height:1.5; font-weight:500; }
  .redeem-workspace .wizard-steps li:not(:last-child)::after { content:''; height:1px; width:12px; position:absolute; right:-16px; background:#daddE3; }
  .redeem-workspace .wizard-steps .step-index { width:27px; height:27px; background:#fff; border:1px solid #d5d8df; color:#737985; font-size:12px; }
  .step-index i { display:none; font-style:normal; }
  .redeem-workspace .wizard-steps .current .step-index { background:#17191d; color:#fff; border-color:#17191d; }
  .redeem-workspace .wizard-steps .current strong { color:#17191d; font-weight:600; }
  .redeem-workspace .wizard-steps .done .step-index { color:#17191d; background:#edf0f2; border-color:#edf0f2; }
  .redeem-workspace .wizard-steps .done .step-index>span { display:none; }
  .redeem-workspace .wizard-steps .done .step-index>i { display:flex; }
  .redeem-workspace .wizard-steps .done strong { color:#454c58; }
  .redeem-workspace .wizard-panel { border:0; border-radius:0; padding:32px 36px; box-shadow:none; scroll-margin-top:104px; }
  .redeem-workspace .panel-heading .eyebrow { color:#737985; font-size:11px; letter-spacing:.09em; margin-bottom:9px; }
  .redeem-workspace .panel-heading h2 { font-size:27px; line-height:1.35; letter-spacing:-.03em; margin-bottom:10px; }
  .redeem-workspace .panel-heading p { font-size:14px; line-height:1.8; }
  .redeem-workspace .field-label { font-size:14px; margin-top:26px; margin-bottom:10px; }
  .redeem-workspace input:not([type=checkbox]),.redeem-workspace textarea { border:1px solid #d5d8df; background:#fff; border-radius:12px; font-size:16px; }
  .redeem-workspace #voucher-code { min-height:60px; padding:16px 70px 16px 17px; font-family:ui-monospace,'SFMono-Regular',Consolas,monospace; }
  .redeem-workspace #voucher-code::placeholder { font-family:inherit; font-size:14px; }
  .redeem-workspace .password-field .text-button { min-width:44px; min-height:44px; top:8px; right:14px; justify-content:center; font-size:13px; }
  .redeem-workspace textarea { padding:15px 17px; min-height:150px; font-family:ui-monospace,'SFMono-Regular',Consolas,monospace; font-size:14px; line-height:1.7; }
  .redeem-workspace input[aria-invalid=true],.redeem-workspace textarea[aria-invalid=true] { border-color:#ae4037; }
  .field-hint { display:flex; align-items:flex-start; gap:7px; margin-top:10px; color:#646b77; font-size:12px; line-height:1.7; }
  .field-hint svg { margin-top:3px; }
  .redeem-workspace .btn { min-height:50px; font-size:14px; }
  .redeem-workspace #voucher-form>.btn { margin-top:24px; }
  .redeem-condition { margin-top:13px; font-size:12px; line-height:1.8; color:#646b77; }
  .inline-contact { display:inline-flex; align-items:center; border:0; background:transparent; color:#24272e; text-decoration:underline; text-underline-offset:3px; font-size:inherit; padding:3px 0; min-height:44px; }
  .redeem-workspace .panel-bottom { margin-top:21px; padding-top:10px; border-color:#eceef1; font-size:13px; }
  .redeem-workspace .panel-bottom .text-button { font-size:13px; }
  .redeem-assistance { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; column-gap:12px; padding:10px 0; font-size:12px; color:#737985; }
  .redeem-assistance .text-button { font-size:12px; color:#454c58; }
  .redeem-workspace .recent-orders { margin-top:6px; padding:0; border:1px solid #e4e5e9; border-radius:14px; box-shadow:none; }
  .recent-orders>summary { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 22px; cursor:pointer; list-style:none; font-size:13px; font-weight:500; }
  .recent-orders>summary::-webkit-details-marker { display:none; }
  .recent-orders>summary>span { display:flex; align-items:center; gap:10px; }
  .recent-summary-meta { color:#737985; font-weight:400; font-size:12px; }
  .recent-orders[open] .recent-summary-meta>svg { transform:rotate(90deg); }
  .recent-orders-body { padding:0 22px 20px; border-top:1px solid #eceef1; }
  .recent-orders-body .small-heading { padding-top:6px; gap:8px; }
  .recent-orders-body .text-button { font-size:12px; }
  .redeem-workspace .empty-orders { justify-content:flex-start; padding:18px 0; font-size:13px; line-height:1.8; }
  .redeem-workspace .recent-order { padding:15px 0; gap:10px; }
  .recent-orders-body>.fine-print { margin-top:14px; font-size:12px; }
  .redeem-workspace .voucher-ready { margin-top:22px; padding:14px 16px; background:#f6f7f8; border-color:#e7e9ed; border-radius:12px; }
  .voucher-ready>div { flex:1; min-width:0; }
  .voucher-ready>div strong,.voucher-ready>div small { display:block; overflow-wrap:anywhere; }
  .voucher-ready>div small { margin-top:4px; font-size:12px; }
  .redeem-workspace .voucher-ready>span { margin-left:0; font-size:12px; }
  .redeem-workspace .tutorial { padding:17px 18px; border-color:#e2e5e9; border-radius:12px; }
  .redeem-workspace .tutorial>summary { min-height:32px; align-items:center; gap:12px; }
  .redeem-workspace .tutorial .tutorial-title { display:inline-flex; align-items:center; gap:9px; color:#24272e; font-size:14px; font-weight:600; }
  .redeem-workspace .tutorial p { overflow-wrap:anywhere; }
  .redeem-workspace .device-help summary { min-height:44px; }
  .redeem-workspace #session-hint { margin-top:12px; font-size:12px; line-height:1.8; }
  .redeem-workspace .form-actions { margin-top:24px; gap:12px; }
  .redeem-workspace .form-actions>.btn-primary { flex:1; }
  .redeem-workspace .form-actions>.btn-outline { min-width:115px; }
  .redeem-workspace .confirmation-summary { border:1px solid #e5e7eb; border-radius:14px; overflow:hidden; margin:22px 0 12px; }
  .redeem-workspace .confirmation-summary>div { grid-template-columns:128px minmax(0,1fr); padding:14px 18px; border-color:#eceef1; font-size:13px; }
  .redeem-workspace .confirmation-summary>div:last-child { border:0; }
  .redeem-workspace .confirmation-summary>.confirmation-account { display:block; background:#f6f7f8; padding:19px 18px; }
  .confirmation-account dt { display:flex; align-items:center; gap:8px; font-size:12px; }
  .confirmation-account dd { margin-top:10px; font-size:22px; line-height:1.5; letter-spacing:-.02em; }
  .redemption-confirmations { border:0; padding:0; margin:25px 0 0; min-width:0; }
  .redemption-confirmations legend { padding:0; font-size:13px; font-weight:600; margin-bottom:8px; }
  .redeem-workspace .check-row { align-items:flex-start; min-height:44px; gap:11px; padding:10px 0; font-size:13px; line-height:1.8; }
  .redeem-workspace .check-row input { margin-top:2px; }
  .redeem-workspace .privacy-inline { padding:16px 18px; background:#f7f8fa; border-color:#e5e7eb; border-radius:12px; margin:12px 0; }
  .redeem-workspace .privacy-inline p { font-size:13px; overflow-wrap:anywhere; }
  .submit-consequence { margin-top:12px; text-align:center; font-size:12px; line-height:1.8; color:#646b77; }
  .redeem-workspace .notice { padding:13px 15px; border-radius:11px; font-size:13px; line-height:1.75; }
  .redeem-workspace .notice.light { background:#f6f7fa; color:#454c58; border-color:#e5e7eb; }
  .redeem-workspace .result-symbol { margin-top:2px; margin-bottom:18px; width:58px; height:58px; }
  .redeem-workspace .result-symbol.good { background:#edf5f0; color:#246043; border-color:#deebe3; }
  .redeem-workspace .order-number { background:#f7f8fa; border-color:#e5e7eb; border-radius:12px; margin:22px 0; padding:12px 15px; gap:10px; }
  .redeem-workspace .order-number strong { font-family:ui-monospace,'SFMono-Regular',Consolas,monospace; font-size:12px; }
  .redeem-workspace .result-actions { margin:24px 0 12px; gap:10px; }
  .redeem-workspace .result-actions>.btn { flex:1 1 180px; }
  .redeem-workspace #new-redemption { flex-basis:100%; justify-content:center; margin-top:4px; color:#646b77; font-size:13px; }
  @media(max-width:600px) {
    .redeem-workspace { width:calc(100% - 32px); padding-top:14px; padding-bottom:40px; }
    .redeem-topline { margin-bottom:15px; }
    .redeem-product { font-size:11px; gap:5px; }
    .redeem-workspace .redeem-title { margin-bottom:21px; }
    .redeem-workspace .redeem-title h1 { font-size:29px; }
    .redeem-workspace .redeem-title p { font-size:13px; }
    .redeem-flow { border-radius:18px; }
    .redeem-workspace .wizard-steps { padding:18px 14px; gap:12px; }
    .redeem-workspace .wizard-steps li { flex-direction:column; gap:8px; align-items:center; text-align:center; }
    .redeem-workspace .wizard-steps li strong { font-size:12px; }
    .redeem-workspace .wizard-steps li:not(:last-child)::after { width:calc(100% - 24px); right:calc(-50% + 6px); top:13px; }
    .redeem-workspace .wizard-panel { padding:24px 20px; }
    .redeem-workspace .panel-heading h2 { font-size:23px; }
    .redeem-workspace .panel-heading p { font-size:13px; }
    .redeem-workspace textarea { font-size:16px; }
    .redeem-workspace .voucher-ready { align-items:flex-start; }
    .redeem-workspace .voucher-ready>span { width:100%; padding-left:28px; }
    .redeem-workspace .confirmation-summary>div { grid-template-columns:100px minmax(0,1fr); gap:10px; padding-inline:14px; }
    .confirmation-account dd { font-size:18px; }
    .redeem-workspace .confirmation-summary>.confirmation-account { padding-inline:14px; }
    .redeem-workspace .form-actions { flex-direction:column-reverse; gap:9px; }
    .redeem-workspace .form-actions>.btn { width:100%; flex:auto; }
    .redeem-workspace .recent-order { flex-wrap:wrap; }
    .redeem-workspace .recent-order>div { flex-basis:100%; }
    .recent-orders>summary { padding-inline:17px; }
    .recent-orders-body { padding-inline:17px; }
    .recent-orders>summary>span { gap:7px; }
    .recent-summary-meta { font-size:11px; }
    .redeem-workspace .tutorial { padding:14px; }
  }
}

@layer refinement {
  .redeem-flow { box-shadow:0 12px 40px #1c293209; border-color:#dfe4e9; }
  .redeem-workspace .wizard-steps { gap:16px; padding:15px 28px 8px; background:linear-gradient(120deg,#fafbfc,#f0f3f5); border-bottom:0; }
  .redeem-workspace .wizard-steps li { display:block; }
  .wizard-step-button { display:flex; align-items:center; gap:9px; min-height:48px; width:100%; padding:7px 8px; border:1px solid transparent; border-radius:12px; background:transparent; text-align:left; color:#626c78; }
  .wizard-step-button:hover { background:#ffffffb3; border-color:#dce1e7; }
  .redeem-workspace .wizard-steps .step-index { display:grid; place-items:center; flex-shrink:0; border-radius:50%; color:#626c78; }
  .redeem-workspace .wizard-steps .viewing .wizard-step-button { border-color:#b9c6d2; background:#fff; box-shadow:0 2px 6px #213c4d08; }
  .redeem-workspace .wizard-steps .viewing strong { color:#263a49; }
  .redeem-workspace .wizard-steps li:not(:last-child)::after { right:-12px; top:24px; width:8px; }
  .steps-preview-hint { font-size:11px; line-height:1.7; color:#646e79; padding:0 36px 14px; background:linear-gradient(120deg,#fafbfc,#f0f3f5); border-bottom:1px solid #e3e8ed; }
  .redeem-workspace .wizard-panel { position:relative; isolation:isolate; background:#fdfefe; --art-rgb:112,143,174; --art-glow:202,224,242; }
  .redeem-workspace .wizard-panel[data-step="2"] { --art-rgb:86,139,143; --art-glow:198,231,224; }
  .redeem-workspace .wizard-panel[data-step="3"] { --art-rgb:164,133,101; --art-glow:240,225,197; }
  .redeem-workspace .wizard-panel[data-step="4"] { --art-rgb:129,137,168; --art-glow:216,222,244; }
  .redeem-workspace .panel-heading .eyebrow { color:#646b77; }
  .redeem-workspace .wizard-panel>*:not(.redemption-art) { position:relative; z-index:1; }
  .redemption-art { position:absolute; z-index:0; pointer-events:none; user-select:none; inset:0; overflow:hidden; background:radial-gradient(ellipse at 100% 0%,rgba(var(--art-glow),.68),transparent 59%),radial-gradient(ellipse at 0% 100%,rgba(var(--art-glow),.14),transparent 55%); }
  .redemption-art::after { content:''; position:absolute; inset:0; background:linear-gradient(105deg,#ffffffc9 0%,#fffffff0 38%,#ffffff38 80%,#ffffff0d),linear-gradient(0deg,#ffffffd9,transparent 80%); }
  .art-bloom { position:absolute; width:370px; height:330px; right:-115px; top:-90px; border-radius:50%; background:radial-gradient(ellipse at 42% 45%,#fff 0%,rgba(var(--art-glow),.52) 43%,rgba(var(--art-rgb),.22) 70%,transparent 72%); opacity:.8; }
  .art-orbit { position:absolute; right:-48px; top:15px; width:270px; height:215px; border:1px solid rgba(var(--art-rgb),.35); border-radius:50%; transform:rotate(-32deg); box-shadow:0 0 0 13px #ffffff38,0 0 0 14px rgba(var(--art-rgb),.13),0 0 0 28px #ffffff29,0 0 0 29px rgba(var(--art-rgb),.10),0 0 0 46px #ffffff21,0 0 0 47px rgba(var(--art-rgb),.07); }
  .art-tile { position:absolute; right:47px; top:52px; width:105px; height:128px; border:1px solid #ffffffd9; border-radius:24px; transform:rotate(-23deg) skewY(4deg); background:linear-gradient(130deg,#ffffff91,rgba(var(--art-glow),.14) 48%,rgba(var(--art-rgb),.14)); box-shadow:inset 1px 1px 5px #fff,inset -1px -1px 1px rgba(var(--art-rgb),.13),9px 18px 28px rgba(var(--art-rgb),.10); }
  .wizard-panel[data-step="2"] .art-orbit { border-radius:32px; width:210px; height:180px; right:-30px; transform:rotate(-28deg); }
  .wizard-panel[data-step="2"] .art-tile { width:95px; height:95px; border-radius:24px; right:44px; top:50px; transform:rotate(-28deg); box-shadow:inset 1px 1px 5px #fff,16px 21px 0 -1px rgba(var(--art-glow),.28),16px 21px 0 0 rgba(var(--art-rgb),.10),33px 43px 0 -1px rgba(var(--art-glow),.20),33px 43px 0 0 rgba(var(--art-rgb),.07); }
  .wizard-panel[data-step="3"] .art-orbit { width:205px; height:260px; top:-30px; right:-22px; transform:rotate(33deg); }
  .wizard-panel[data-step="3"] .art-tile { height:108px; width:108px; border-radius:50%; right:40px; top:53px; transform:none; }
  .wizard-panel[data-step="4"] .art-orbit { transform:rotate(-55deg); width:310px; height:125px; top:65px; right:-63px; }
  .wizard-panel[data-step="4"] .art-tile { border-radius:50%; width:115px; height:115px; top:35px; right:25px; transform:none; }
  .step-preview-banner { display:flex; align-items:flex-start; gap:9px; margin-bottom:22px; padding:11px 13px; border:1px solid #dce4eb; border-radius:10px; color:#455b6c; background:#f8fafdd9; font-size:12px; line-height:1.8; }
  .step-preview-banner svg { margin-top:3px; }
  .preview-fields { border:0; padding:0; margin:0; min-width:0; }
  .preview-fields .btn { margin-top:20px; }
  .preview-fields input:disabled,.preview-fields textarea:disabled { color:#677380; background:#f8fafc; opacity:1; -webkit-text-fill-color:#677380; }
  .preview-fields input::placeholder,.preview-fields textarea::placeholder { color:#677380; opacity:1; }
  .preview-fields>.fine-print { margin-top:12px; }
  .preview-summary dd { color:#647280; font-weight:400; }
  .preview-summary .confirmation-account dd { font-size:18px; }
  .preview-return { border-top:1px solid #dfe6ec; padding-top:21px; margin-top:26px; }
  .preview-return p { font-size:12px; text-align:center; margin-top:10px; }
  .preview-result-guide { display:grid; gap:12px; margin:24px 0 18px; }
  .preview-result-guide>div { display:flex; align-items:flex-start; gap:15px; border:1px solid #e1e6ec; border-radius:12px; padding:20px 18px; background:#ffffffc9; }
  .preview-result-guide>div>svg { color:#607487; margin-top:3px; }
  .preview-result-guide strong,.preview-result-guide small { display:block; }
  .preview-result-guide strong { font-size:14px; font-weight:600; }
  .preview-result-guide small { font-size:13px; line-height:1.8; margin-top:6px; }
  @media(max-width:600px) {
    .redeem-workspace .wizard-steps { padding:12px 10px 8px; gap:8px; }
    .wizard-step-button { flex-direction:column; justify-content:center; gap:8px; padding:9px 2px; min-height:68px; border-radius:10px; text-align:center; }
    .redeem-workspace .wizard-steps li:not(:last-child)::after { top:23px; right:-7px; width:6px; }
    .steps-preview-hint { padding:0 20px 12px; font-size:11px; }
    .art-orbit { right:-135px; opacity:.6; }
    .art-tile { right:-30px; opacity:.55; }
    .wizard-panel[data-step="2"] .art-orbit,.wizard-panel[data-step="3"] .art-orbit,.wizard-panel[data-step="4"] .art-orbit { right:-135px; }
    .wizard-panel[data-step="2"] .art-tile,.wizard-panel[data-step="3"] .art-tile,.wizard-panel[data-step="4"] .art-tile { right:-25px; }
    .preview-result-guide>div { padding:17px 14px; gap:12px; }
    .preview-return .btn { font-size:13px; }
  }
  @media(forced-colors:active) { .redemption-art { display:none; } .wizard-step-button { border-color:ButtonBorder; } .redeem-workspace .wizard-steps .current .step-index { background:Highlight; color:HighlightText; } }
  @media(prefers-reduced-motion:reduce) { .redeem-flow,.wizard-step-button { transition:none; } }
}

@layer refinement {
  .integration-card { max-width:840px; }
  .integration-card .masked-key { font-family:ui-monospace,'SFMono-Regular',Consolas,monospace; letter-spacing:.04em; }
  .integration-card .password-field input { min-height:56px; padding-right:76px; }
  .integration-card .password-field .text-button { top:6px; right:17px; }
  .integration-card .fine-print { margin-top:12px; line-height:1.8; }
  .integration-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:22px; }
  .integration-actions .btn { min-height:48px; }
  .integration-clear-confirm { margin-top:22px; padding:18px; border:1px solid #e2e5ea; background:#f7f8fa; border-radius:12px; }
  .integration-clear-confirm[hidden] { display:none; }
  .integration-clear-confirm .inline-actions { margin-top:15px; }
  .integration-card .confirmation-summary dd { overflow-wrap:anywhere; }
  @media(max-width:700px){.integration-actions>.btn { flex:1 1 130px; }.integration-card .confirmation-summary>div { grid-template-columns:100px minmax(0,1fr); gap:10px; }.integration-card .notice { flex-wrap:wrap; }}
}

@layer refinement {
  .account-preparation { margin-top:24px; padding:22px; border:1px solid #dfe7eb; border-radius:14px; background:#ffffffc9; }
  .account-preparation-heading { display:flex; align-items:center; gap:10px; margin-bottom:10px; color:#344853; }
  .account-preparation-heading h3 { font-size:15px; line-height:1.6; letter-spacing:0; }
  .account-preparation>p { font-size:13px; line-height:1.85; }
  .account-link-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0 14px; }
  .account-link { display:grid; grid-template-columns:28px minmax(0,1fr) 17px; align-items:center; gap:10px; min-height:86px; padding:14px 12px; border:1px solid #d7e1e6; border-radius:12px; background:#fff; color:#24353f; transition:background .15s,border-color .15s; }
  .account-link:hover { background:#f4f8fa; border-color:#a4bbc7; }
  .account-link-number { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:#edf3f5; color:#435e6e; font-size:12px; font-weight:600; }
  .account-link strong,.account-link small { display:block; }
  .account-link strong { font-size:14px; font-weight:600; }
  .account-link small { font-size:12px; line-height:1.7; color:#5b6c79; margin-top:5px; overflow-wrap:anywhere; }
  .account-copy-instruction { color:#394c58; }
  .account-preparation>.fine-print { font-size:12px; margin-top:10px; }
  .account-contract-note { padding-top:12px; margin-top:12px; border-top:1px solid #e3e9ed; color:#74582e; }
  .account-more { margin-top:15px; border-top:1px solid #e3e9ed; }
  .account-more summary { cursor:pointer; font-size:12px; color:#586c7a; min-height:44px; padding-top:12px; }
  .account-more p { font-size:12px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
  .session-input-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:26px 0 10px; }
  .redeem-workspace .session-input-heading .field-label { margin:0; }
  .redeem-workspace .session-paste-button { min-height:44px; padding:8px 12px; font-size:12px; flex-shrink:0; }
  .session-paste-feedback { font-size:12px; line-height:1.8; color:#405d6d; margin-top:9px; }
  .session-paste-feedback:empty { display:none; }
  .session-paste-feedback[data-error=true] { color:#a34137; }
  @media(max-width:600px){.account-preparation { padding:17px; }.account-link-grid { grid-template-columns:1fr; gap:10px; }.account-link { min-height:76px; padding:13px 15px; }.account-link small { font-size:12px; }.session-input-heading { flex-wrap:wrap; }.account-preparation-heading h3 { font-size:14px; }}
  @media(prefers-reduced-motion:reduce){.account-link { transition:none; }}
}

@layer refinement {
  .spec-rule-intro { color:#606873; font-size:14px; line-height:1.9; max-width:760px; }
  .spec-simulation-note { display:inline-block; margin-top:14px; padding:7px 11px; border-radius:7px; background:#f2f5f8; color:#576574; font-size:12px; line-height:1.6; }
  .spec-rule-list { margin-top:24px; }
  .spec-rule-row { display:grid; grid-template-columns:minmax(165px,1fr) minmax(0,2fr); gap:22px; align-items:center; padding:22px 0; border-top:1px solid #e5e8ed; }
  .spec-rule-identity h3 { font-size:17px; line-height:1.5; letter-spacing:-.02em; }
  .spec-rule-identity small { display:block; margin-top:7px; color:#7b8490; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
  .spec-rule-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0; }
  .spec-rule-facts dt { color:#7b8490; font-size:12px; margin-bottom:8px; }
  .spec-rule-facts dd { margin:0; font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
  .spec-rule-status { display:inline-block; padding:2px 9px; border-radius:6px; color:#5b6674; background:#f1f3f6; font-size:12px; }
  .spec-rule-status.active { background:#ecf5f0; color:#355c47; }
  .spec-rule-status.manual { background:#fbf1e6; color:#815d32; }
  .spec-rule-status.ready { background:#edf2fa; color:#526988; }
  .spec-rule-action { grid-column:2; justify-self:end; min-height:44px; font-size:13px; margin-top:-10px; }
  .spec-rule-history,.spec-rule-help { border-top:1px solid #e5e8ed; }
  .spec-rule-history summary,.spec-rule-help summary { min-height:52px; padding:15px 0; cursor:pointer; color:#626d7a; font-size:13px; }
  .spec-rule-help p { margin-bottom:12px; color:#67717d; font-size:13px; line-height:1.9; }
  .spec-rule-create { margin-top:16px; }
  .spec-rule-create>summary { font-size:15px; }
  .spec-rule-create>p { margin-bottom:20px; line-height:1.9; }
  .spec-activation-target { padding:12px 14px; border-radius:8px; background:#f4f6f9; font-size:14px; line-height:1.8; }
  @media(max-width:800px){.spec-rule-row { grid-template-columns:1fr; gap:17px; }.spec-rule-facts { gap:12px; }.spec-rule-action { grid-column:1; }.spec-rule-facts dd { font-size:13px; }.spec-rule-identity h3 { font-size:16px; }}
  @media(max-width:390px){.spec-rule-facts { grid-template-columns:1fr 1fr; row-gap:16px; }.spec-rule-facts>div:last-child { grid-column:1/-1; }}
}

@layer refinement {
  .admin-task-intro { margin:-8px 0 28px; padding:0 0 22px; border-bottom:1px solid #e4e8ee; }
  .admin-task-intro>p { color:#495461; font-size:15px; line-height:1.8; }
  .admin-task-intro>small { display:flex; align-items:flex-start; gap:7px; margin-top:10px; color:#7b8490; font-size:12px; line-height:1.8; }
  .admin-task-intro>small svg { flex-shrink:0; margin-top:3px; }
  .admin-task-list { margin-top:18px; }
  .admin-task-item { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid #e8ebef; }
  .admin-task-item:last-child { border-bottom:0; }
  .admin-task-item strong { font-size:14px; font-weight:600; line-height:1.8; }
  .admin-task-item p { color:#747e8a; font-size:12px; margin-top:5px; line-height:1.85; max-width:600px; }
  .admin-task-item .text-link { min-height:44px; font-size:12px; }
  .admin-more { border-top:1px solid #e6e9ee; margin-top:20px; }
  .admin-more>summary { cursor:pointer; min-height:48px; padding:14px 0; font-size:13px; color:#64717e; }
  .admin-more .confirmation-summary { margin-top:5px; }
  .admin-card>.muted { font-size:14px; line-height:1.9; margin-bottom:18px; }
  .editor-details>.fine-print { line-height:1.9; margin:10px 0 20px; }
  .admin-quick-filters { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0; }
  .admin-quick-filters .btn { min-height:44px; padding:9px 15px; font-size:12px; }
  .admin-quick-filters .btn[aria-pressed=true] { background:#17191d; border-color:#17191d; color:#fff; }
  .order-search-more { padding:16px 20px; margin-bottom:20px; }
  .order-search-more>summary { font-size:14px; }
  #support-update-form>h3 { font-size:18px; margin:24px 0 16px; }
  #support-close-details>summary { font-size:14px; }
  .editor-savebar #editor-status { font-size:13px; line-height:1.8; max-width:280px; }
  .integration-card .confirmation-summary dd { font-size:14px; line-height:1.8; }
  @media(max-width:700px){.admin-task-intro { margin-top:-10px; }.admin-task-item { grid-template-columns:minmax(0,1fr) auto; gap:10px; }.admin-task-item .text-link { grid-column:1/-1; justify-self:start; }.admin-task-intro>p { font-size:14px; }.admin-page-heading .status-pill { max-width:145px; white-space:normal; text-align:right; font-size:11px; }.admin-quick-filters { gap:7px; }.editor-savebar #editor-status { max-width:none; }}
}

@layer refinement {
  .codex-voice-launcher { position:fixed; right:calc(24px + env(safe-area-inset-right)); bottom:calc(24px + env(safe-area-inset-bottom)); z-index:20; max-width:calc(100vw - 32px); }
  .codex-voice-link { position:relative; display:flex; align-items:center; gap:11px; min-height:62px; padding:10px 14px 10px 10px; border:1px solid #3a3d44; border-radius:999px; background:#202226; color:#fff; box-shadow:0 8px 28px #161b2630,0 2px 6px #161b2614; line-height:1.45; transition:background .16s,box-shadow .16s,transform .16s; }
  .codex-voice-badge { position:absolute; top:-13px; right:12px; display:inline-flex; align-items:center; justify-content:center; gap:4px; height:25px; padding:0 10px; border:2px solid #202226; border-radius:999px; background:#d8fb88; color:#28331b; font-size:12px; font-weight:700; line-height:1; letter-spacing:.04em; box-shadow:inset 0 1px 0 #ffffffb3,0 2px 4px #13171f1a; transform:rotate(-6deg); }
  .codex-voice-link:hover { background:#303339; box-shadow:0 12px 32px #161b2638,0 3px 8px #161b2614; transform:translateY(-2px); }
  .codex-voice-link:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
  .codex-voice-mark { display:grid; place-items:center; width:36px; height:36px; flex-shrink:0; border:1px solid #ffffff20; border-radius:50%; background:#ffffff0c; color:#fff; }
  .codex-voice-copy { display:flex; flex-direction:column; gap:2px; min-width:0; }
  .codex-voice-label { font-size:14px; font-weight:600; letter-spacing:-.015em; white-space:nowrap; }
  .codex-voice-caption { color:#c5c9d1; font-size:11px; font-weight:400; white-space:nowrap; }
  .codex-voice-destination { display:grid; place-items:center; width:26px; height:26px; margin-left:2px; border:1px solid #ffffff28; border-radius:50%; color:#e3e5eb; }
  .site-footer { padding-bottom:calc(108px + env(safe-area-inset-bottom)); }
  body:has(dialog[open],#toast.shown,input:focus,textarea:focus,select:focus,.redeem-workspace button:focus) .codex-voice-launcher { visibility:hidden; pointer-events:none; }
  @media(max-width:700px) {
    .codex-voice-launcher { left:50%; right:auto; bottom:calc(16px + env(safe-area-inset-bottom)); transform:translateX(-50%); width:max-content; max-width:calc(100vw - 32px); }
    .codex-voice-link { min-height:56px; gap:9px; padding:8px 12px 8px 8px; }
    .codex-voice-mark { width:32px; height:32px; }
    .codex-voice-label { font-size:13px; }
    .codex-voice-caption { font-size:10px; }
    .codex-voice-destination { width:24px; height:24px; }
  }
  @media(prefers-reduced-motion:reduce) { .codex-voice-link { transition:none; } .codex-voice-link:hover { transform:none; } }
}
