:root{--na-bg0:#faf9f6;--na-bg1:#ffffff;--na-bg2:#f6f5f0;--na-ink:#303b39;--na-muted:#646b60;--na-faint:#74786e;--na-gold:#805f29;--na-gold-hi:#a8862f;--na-gold-deep:#b89645;--na-line:#e8e4da;--na-line-soft:rgba(232,228,218,0.65);--na-ok:#436c5c;--na-ok-bg:rgba(67,108,92,0.12);--na-bad:#a04439;--na-bad-bg:rgba(160,68,57,0.11);--na-warn:#b98d2c;--na-warn-bg:rgba(185,141,44,0.13);--na-wait:#6b7ab8;--na-wait-bg:rgba(107,122,184,0.13);--na-surface:#ffffff;--na-surface-2:#fbfbf8;--na-font-display:"Songti SC","STSong","Noto Serif CJK SC",serif;--na-font-body:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;--radius:18px;--dg:clamp(22px,5.2vw,32px)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:#eceee9;color:var(--na-ink);font-family:var(--na-font-body);font-size:14px;line-height:1.65;min-height:100vh;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--na-gold);outline-offset:4px}button:active{transform:translateY(1px)}[hidden]{display:none!important}svg{display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--na-font-display);font-weight:500}h1{font-size:31px;letter-spacing:3px;line-height:1.4}h2{font-size:22px;letter-spacing:1px}h3{font-size:17px}small{font-size:12px}.muted{color:var(--na-muted);font-size:13px;line-height:1.7}a{color:var(--na-gold)}.app{max-width:440px;min-height:100dvh;margin:0 auto;background:var(--na-bg0);position:relative;box-shadow:0 0 70px #303b3910}@media (min-width:900px){.app{border-left:1px solid #e1e5dc;border-right:1px solid #e1e5dc}}.app-header{height:76px;justify-content:space-between;padding:12px 25px;border-bottom:1px solid var(--na-line);background:#faf9f6ed}.app-header,.brand{display:flex;align-items:center}.brand{gap:10px}.brand-name{font-family:var(--na-font-display);font-size:20px;letter-spacing:4px}.brand-sub{display:block;font-size:8px;letter-spacing:3px;color:var(--na-gold)}.brand-mark{width:30px;color:var(--na-gold)}.icon-button{width:44px;height:44px;border:1px solid var(--na-line);border-radius:50%;background:transparent;display:grid;place-items:center}.icon-button svg{width:19px;height:19px}.page{padding:0 25px 114px}.intro{position:relative;padding:32px 0 27px;isolation:isolate}.eyebrow{font-family:Georgia,serif;font-size:10px;letter-spacing:2.7px;color:var(--na-gold);margin-bottom:10px}.intro p{margin-top:12px;color:var(--na-muted);font-size:13px}.celestial{position:absolute;width:158px;height:158px;right:-15px;top:3px;color:#ad9057;opacity:.23;z-index:-1}.section{margin-top:31px}.section .section-head{margin-bottom:14px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:21px}.section-index{font:italic 13px Georgia,serif;color:var(--na-gold);margin-right:10px}.section-head .step{display:block;border:0;padding:0;margin:0;background:none;font-family:Georgia,serif;font-size:12px;letter-spacing:1px;color:var(--na-gold)}.step{display:flex;gap:12px;padding:11px 4px;border-bottom:1px dashed var(--na-line-soft);align-items:flex-start}.step:last-child{border-bottom:none}.step .icon{width:22px;height:22px;margin-top:1px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:0;line-height:0}.step .body{flex:1 1}.step .title{font-size:14px;font-weight:600;color:var(--na-ink)}.step .desc{font-size:12.5px;color:var(--na-muted);margin-top:3px;line-height:1.7;word-break:break-all}.step.ok .title{color:var(--na-ok)}.step.fail .title{color:var(--na-bad)}.step.info .title{color:var(--na-warn)}.form-panel{background:var(--na-bg1);border:1px solid var(--na-line);border-radius:var(--radius);padding:24px 21px;box-shadow:0 9px 30px #61533804}.field{display:block;margin-bottom:20px}.field-label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px}.field input,.field select,.field textarea{width:100%;background:#fbfbf8;border:1px solid var(--na-line);border-radius:10px;padding:12px 13px;color:var(--na-ink);min-height:49px;font-size:16px;min-width:0}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{font-size:14px;color:#74786e}.field small{display:block;margin-top:6px}.segmented{display:flex;border:1px solid var(--na-line);border-radius:10px;padding:4px;margin-bottom:15px;background:#f6f5f0;gap:4px}.segmented button{flex:1 1;border:0;background:transparent;border-radius:7px;min-height:44px;color:var(--na-muted);font-size:13px}.segmented button[aria-pressed=true]{background:white;color:var(--na-ink);box-shadow:0 2px 5px #303b390a;border:1px solid #e8e4da}.date-row{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-gap:8px;gap:8px}.check-label{display:flex;align-items:center;gap:9px;font-size:12px;min-height:44px;color:var(--na-muted)}.check-label input{width:17px;height:17px;accent-color:var(--na-gold)}.primary{border:0;background:var(--na-gold);color:#fffdf8;border-radius:11px;min-height:51px;padding:12px 20px;width:100%;font-size:15px;letter-spacing:2px;display:flex;justify-content:center;align-items:center;gap:14px}.primary svg{width:18px;height:18px}.secondary{background:transparent;border:1px solid var(--na-line);border-radius:10px;min-height:46px;padding:10px 16px}.text-button{border:0;background:transparent;color:var(--na-gold);padding:10px 3px;min-height:44px;display:inline-flex;align-items:center}.fine-print{font-size:11px;color:var(--na-muted);text-align:center;margin-top:15px;letter-spacing:.5px}.error{color:var(--na-bad);font-size:12px;margin:10px 0}.tag{display:inline-flex;background:#eef3ed;color:var(--na-ok);font-size:11px;padding:4px 10px;border-radius:20px}.tag.needs-review{color:#805521;background:#f6eddf}.ornament{text-align:center;color:var(--na-gold);font-size:17px;margin:21px 0 0;letter-spacing:12px}.context-note{border:1px solid var(--na-line);border-radius:10px;padding:12px 14px;margin-bottom:18px;font-size:12px;color:var(--na-muted);display:flex;justify-content:space-between;align-items:center;gap:10px}.context-note button{flex-shrink:0}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,440px);padding:9px 12px max(12px,env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--na-line);display:flex;justify-content:space-around;z-index:10;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.bottom-nav a{background:none;border:0;min-width:64px;min-height:51px;padding:4px 10px;color:var(--na-muted);font-size:11px;display:flex;align-items:center;flex-direction:column;gap:4px;position:relative;text-decoration:none}.bottom-nav svg{width:22px;height:22px;stroke-width:1.4}.bottom-nav a[aria-current=page]{color:var(--na-gold)}.bottom-nav a[aria-current=page]:before{content:"";position:absolute;top:-10px;width:18px;height:2px;background:var(--na-gold)}.results{padding-top:28px}.result-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.result-top h2{font-size:24px}.result-list{display:grid;grid-gap:12px;gap:12px;margin-top:22px}.check-result{border:1px solid var(--na-line);border-radius:13px;padding:18px;background:white}.check-result h3{font:22px Georgia,serif;overflow-wrap:anywhere}.check-result p{font-size:12px;margin:8px 0}.check-result details{border-top:1px solid var(--na-line);margin-top:13px;padding-top:6px}.check-result summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--na-gold);font-size:12px}.empty{text-align:center;padding:30px 15px;color:var(--na-muted);font-size:13px}.empty svg{width:35px;height:35px;margin:0 auto 12px;color:var(--na-gold)}.digit{width:30px;height:30px;display:grid;place-items:center;border:1px solid #d8ccae;border-radius:50%;font:17px Georgia,serif;color:var(--na-gold)}.missing .digit{background:#f4ecd9;border-color:transparent}.toast{position:fixed;bottom:105px;left:50%;transform:translateX(-50%);max-width:calc(100% - 36px);width:max-content;background:#35423b;color:#fff;padding:12px 20px;border-radius:10px;font-size:13px;z-index:40;box-shadow:0 5px 25px #303b391a}dialog{border:1px solid var(--na-line);border-radius:22px;width:min(390px,calc(100% - 32px));max-height:85dvh;padding:26px;color:var(--na-ink);background:var(--na-bg0)}dialog::-webkit-backdrop{background:#303b3966;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}dialog::backdrop{background:#303b3966;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}dialog .section-head,dialog p{margin-bottom:14px}dialog p{font-size:13px;color:var(--na-muted)}.dialog-actions{display:flex;gap:10px;margin-top:20px}.dialog-actions button{flex:1 1}.desktop-note{display:none}@media (min-width:900px){.desktop-note{display:block;position:fixed;left:calc(50% - 425px);top:40%;width:160px;color:#68736b}.desktop-note .eyebrow{font-size:10px}.desktop-note h2{font-size:30px;line-height:1.6;letter-spacing:5px;margin-bottom:15px}.desktop-note p{font-size:11px;line-height:2}}@media (max-width:350px){.page{padding-left:17px;padding-right:17px}.app-header{padding-left:18px;padding-right:18px}.form-panel{padding:20px 15px}.intro h1{font-size:28px}.date-row{gap:5px}.date-row select{padding-left:8px;padding-right:4px}.reading{padding:18px}.digit{width:27px;height:27px}.digits{gap:6px}.name-grid strong{font-size:31px}}@media (prefers-reduced-motion:no-preference){.page{animation:appear .2s ease-out}@keyframes appear{0%{transform:translateY(3px)}to{transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){.chart-grid .dg,.edge-line,.main-circle:before,.mini-circle,.mini-circle:before{animation:none!important}}.card{background:var(--na-surface);border:1px solid var(--na-line);border-radius:18px;padding:22px 18px;margin-bottom:18px}.mingpan-page>.card{padding:18px;border-color:var(--na-line-soft);border-radius:16px;line-height:1.55}.field label{display:block;font-size:13.5px;font-weight:600;margin-bottom:9px;color:var(--na-ink);letter-spacing:0}.field .hint{font-size:12px;color:var(--na-muted);margin-top:7px;line-height:1.7}.field .hint a,.field .hint b{color:var(--na-gold)}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--na-gold) 50%),linear-gradient(135deg,var(--na-gold) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat}.field select option{background:var(--na-bg1);color:var(--na-ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--na-gold);box-shadow:0 0 0 3px rgba(128,95,41,.12)}.field .leap-label{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--na-ink);white-space:nowrap;margin:2px 0 0;padding:0 2px}.field .leap-label input{width:18px;height:18px;min-height:0;padding:0;margin:0;accent-color:var(--na-gold);flex:none}.btn-row{display:flex;gap:12px}.btn-row>button{flex-shrink:0;white-space:nowrap}.btn-row>.hint{flex:1 1;min-width:0}button.analyze,button.gen,button.ghost{min-height:52px;padding:14px;font-size:15px;font-weight:600;letter-spacing:2px;border-radius:11px;cursor:pointer;transition:opacity .15s,transform .1s;font-family:var(--na-font-body)}button.analyze{width:100%;color:#fffdf8;border:none;background:var(--na-gold)}.btn-row button.analyze,.btn-row button.gen{width:auto;flex:1 1}button.gen{flex:1 1}button.gen,button.ghost{color:var(--na-gold);background:transparent;border:1px solid var(--na-gold-deep)}button.ghost{width:100%;font-size:15px}button.analyze:active,button.gen:active,button.ghost:active,button.primary:active{transform:scale(.98)}button.analyze:disabled,button.gen:disabled,button.ghost:disabled,button.primary:disabled{opacity:.55;cursor:not-allowed}table.summary{width:100%;border-collapse:collapse;font-size:13.5px}table.summary td,table.summary th{padding:11px 8px;text-align:left;border-bottom:1px solid var(--na-line-soft)}table.summary th{color:var(--na-muted);font-size:12px;font-weight:600;letter-spacing:1px}.mono,table.summary td.mono{font-family:SF Mono,Consolas,monospace;letter-spacing:1px}table.summary tr:hover td{background:rgba(128,95,41,.05)}table.summary a{color:var(--na-gold);text-decoration:none}table.summary{min-width:540px}table.summary td{white-space:nowrap}table.summary td:last-child{white-space:normal;min-width:140px}.badge{display:inline-block;padding:3px 12px;border-radius:14px;font-size:12px;font-weight:700;letter-spacing:1px;white-space:nowrap}.badge.ok{background:var(--na-ok-bg);color:var(--na-ok);border:1px solid rgba(67,108,92,.35)}.badge.fail,.badge.pass{background:var(--na-bad-bg);color:var(--na-bad);border:1px solid rgba(160,68,57,.35)}details.num-card{background:var(--na-surface);border:1px solid var(--na-line);border-radius:14px;margin-bottom:12px;overflow:hidden}details.num-card summary{list-style:none;display:flex;align-items:center;gap:12px;padding:15px 16px;cursor:pointer;flex-wrap:wrap;min-height:56px}details.num-card summary::-webkit-details-marker{display:none}details.num-card summary .num{font-size:16.5px;font-weight:700;font-family:SF Mono,Consolas,monospace;letter-spacing:1.5px;color:var(--na-ink)}details.num-card summary .rsn{font-size:12.5px;color:var(--na-muted);flex:1 1;min-width:120px}details.num-card summary:after{content:"▸";color:var(--na-gold);transition:transform .15s}details.num-card[open] summary:after{transform:rotate(90deg)}.detail-body,details.num-card .detail-body{padding:4px 16px 18px;border-top:1px dashed var(--na-line)}.si{width:20px;height:20px;display:block}.si circle,.si line,.si path,.si polygon,.si rect{stroke-linecap:round;stroke-linejoin:round}.si circle:not([fill]),.si line,.si path,.si polygon,.si rect{fill:none}.step.ok .si{color:var(--na-ok)}.step.fail .si{color:var(--na-bad)}.step.info .si{color:var(--na-warn)}.mark-fail,.mark-info,.mark-ok{display:inline-flex;align-items:center;gap:5px;font-weight:700;vertical-align:middle}.mark-ok{color:var(--na-ok)}.mark-fail{color:var(--na-bad)}.mark-info{color:var(--na-warn)}.mark-fail .si,.mark-info .si,.mark-ok .si{width:14px;height:14px}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.chip{padding:5px 11px;border-radius:18px;font-size:12.5px;font-weight:600;letter-spacing:1px;border:1.5px solid transparent}.chip.good{background:var(--na-ok-bg);color:var(--na-ok);border-color:rgba(67,108,92,.35)}.chip.bad{background:var(--na-bad-bg);color:var(--na-bad);border-color:rgba(160,68,57,.35)}.chip.warn{background:var(--na-warn-bg);color:var(--na-warn);border-color:rgba(185,141,44,.35)}.chip.wait{background:var(--na-wait-bg);color:var(--na-wait);border-color:rgba(107,122,184,.35)}.dna-line{font-size:12.5px;color:var(--na-muted);line-height:1.8;margin-top:12px;word-break:break-all}.dna-line b{color:var(--na-ink)}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-top:14px}@media (max-width:560px){.stats{grid-template-columns:repeat(2,1fr)}}.stat{border-radius:12px;padding:12px 6px;text-align:center;border:1px solid var(--na-line);background:var(--na-surface-2)}.stat .n{font-size:22px;font-weight:800;color:var(--na-ink)}.stat .t{font-size:12px;margin-top:3px;color:var(--na-muted)}.stat .m{font-size:10.5px;color:var(--na-faint);margin-top:2px}.stat.good .n{color:var(--na-ok)}.stat.bad .n{color:var(--na-bad)}.stat.warn .n{color:var(--na-warn)}.stat.zero{opacity:.4}.resolve-note{margin-top:12px;font-size:12.5px;color:var(--na-muted);line-height:1.8}.resolve-note b,.section-title{color:var(--na-ink)}.section-title{font-family:var(--na-font-display);font-size:16px;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:9px;letter-spacing:1px}.section-title:before{content:"";width:4px;height:16px;background:var(--na-gold);border-radius:2px}.section-title .note{font-family:var(--na-font-body);font-size:11.5px;font-weight:400;color:var(--na-faint);margin-left:auto;letter-spacing:0}.sub-title{font-size:13px;font-weight:700;color:var(--na-gold);margin:16px 0 6px;letter-spacing:1px}.rules{font-size:12.5px;color:var(--na-muted);line-height:2.05}.rules b{color:var(--na-ink)}.hidden{display:none}.count-line{font-size:13px;color:var(--na-muted);margin-bottom:12px}.count-line b{color:var(--na-ink)}.err{color:var(--na-bad);font-size:13px;margin-top:10px;line-height:1.6}.cal-tabs{display:flex;gap:8px;margin-bottom:4px;background:#f6f5f0;border:1px solid var(--na-line);border-radius:10px;padding:4px}.cal-tabs button{flex:1 1;min-height:44px;font-size:14.5px;letter-spacing:2px;cursor:pointer;border:none;background:transparent;border-radius:7px;color:var(--na-muted);font-weight:600}.cal-tabs button.cur{background:white;color:var(--na-ink);box-shadow:0 2px 5px #303b390a}.lunar-row{display:flex;gap:9px;align-items:center}.lunar-row select{flex:1 1;min-width:0}.birth-line{text-align:center;font-size:13.5px;color:var(--na-muted);line-height:1.9;margin-bottom:16px}.birth-line b{color:var(--na-ink)}.main-row{gap:12px;margin:2px 0 10px;flex-wrap:wrap}.main-circle,.main-row{display:flex;align-items:center;justify-content:center}.main-circle{position:relative;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f4e3ac,#b89645);flex-direction:column;color:#78571f;box-shadow:0 6px 24px rgba(128,95,41,.18)}.main-circle:before{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px dashed rgba(128,95,41,.5);animation:orb-spin 40s linear infinite}.main-circle .n{font-size:38px;font-weight:800;line-height:1;font-family:var(--na-font-display)}.main-circle .t{font-size:10px;margin-top:2px;letter-spacing:2px;font-weight:700}@keyframes orb-spin{to{transform:rotate(1turn)}}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}@media (max-width:400px){.info-grid{grid-template-columns:repeat(2,1fr)}.info-grid .info-item:last-child{grid-column:1/-1}}.info-item{border:1px solid var(--na-line);border-radius:10px;padding:9px 10px;background:var(--na-surface-2)}.info-item .na-wx-badge{font-size:14px;letter-spacing:1px;min-height:28px}.info-item .k{font-size:12px;color:var(--na-faint);margin-bottom:2px}.info-item .v{font-size:17px;font-weight:800;color:var(--na-ink);letter-spacing:2px}.info-item.miss{border-color:var(--na-gold-deep);background:rgba(128,95,41,.08);margin:10px 0 22px}.info-item.miss .v{text-align:center}.info-item.miss .k,.info-item.miss .v{color:var(--na-gold)}.qipo-bar{border:1px solid var(--na-line);border-radius:12px;padding:12px 14px;background:var(--na-surface-2);margin-top:10px}.qipo-bar .k{font-size:12px;color:var(--na-faint);margin-bottom:8px}.qipo-nums{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.qipo-nums .qn{width:var(--dg,26px);height:var(--dg,26px);min-width:0;min-height:0;border:1.5px solid var(--na-gold-deep);border-radius:8px;background:var(--na-surface-2);justify-content:center;font-family:var(--na-font-display);font-size:clamp(12px,3.2vw,15px);font-weight:700;color:var(--na-gold);letter-spacing:0}.na-wx-badge,.qipo-nums .qn{display:inline-flex;align-items:center}.na-wx-badge{gap:7px;min-height:32px;padding:4px 12px 4px 8px;border-radius:999px;border:1.5px solid transparent;font-size:16px;font-weight:800;letter-spacing:3px;line-height:1}.na-wx-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 8px currentColor}.na-wx-metal{color:#78571f;background:rgba(184,150,69,.16);border-color:rgba(184,150,69,.48)}.na-wx-metal .na-wx-dot{background:linear-gradient(145deg,#f4e3ac,#b89645);color:#78571f}.na-wx-water{color:#315e77;background:rgba(49,94,119,.13);border-color:rgba(49,94,119,.4)}.na-wx-water .na-wx-dot{background:linear-gradient(145deg,#deedf3,#7ba9b9);color:#315e77}.na-wx-fire{color:#91462c;background:rgba(145,70,44,.13);border-color:rgba(145,70,44,.4)}.na-wx-fire .na-wx-dot{background:linear-gradient(145deg,#f9e0cb,#c58b64);color:#91462c}.na-wx-wood{color:#31563c;background:rgba(49,86,60,.13);border-color:rgba(49,86,60,.4)}.na-wx-wood .na-wx-dot{background:linear-gradient(145deg,#dfebd8,#829d75);color:#31563c}.na-wx-earth{color:#75553a;background:rgba(117,85,58,.13);border-color:rgba(117,85,58,.4)}.na-wx-earth .na-wx-dot{background:linear-gradient(145deg,#eee0c8,#b69971);color:#75553a}.chart{margin-top:0}.chart-title{font-size:14px;font-weight:700;color:var(--na-ink);margin-bottom:12px;display:flex;align-items:center;gap:8px;letter-spacing:1px}.chart-title:before{content:"";width:4px;height:15px;background:var(--na-gold);border-radius:2px}.chart-hint{font-size:11px;color:var(--na-faint);font-weight:400;margin-left:auto;letter-spacing:0}.chart-wrap{position:relative;width:100%}.edge-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.chart-grid{--dg:clamp(16px,5vw,38px);--dg-big:clamp(18px,5.8vw,44px);--dg-font:clamp(10px,3vw,17px);--dg-big-font:clamp(11px,3.3vw,19px);--core:clamp(34px,11.5vw,74px);--core-font:clamp(15px,5vw,30px);--g:clamp(0px,0.55vw,6px);position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) max-content max-content calc(var(--core) + clamp(28px, 8vw, 56px)) max-content max-content minmax(0,1fr);grid-template-rows:repeat(4,auto);justify-items:center;grid-column-gap:var(--g);column-gap:var(--g);grid-row-gap:clamp(8px,2vw,14px);row-gap:clamp(8px,2vw,14px);width:100%;box-sizing:border-box;padding:4px 0}.cg,.chart-grid{align-items:center;min-width:0}.cg{display:flex;gap:var(--g)}.cg-d1,.cg-d2,.cg-y1,.cg-y2{flex-direction:column;gap:2px}.cg-d1{grid-column:2;grid-row:1}.cg-d2{grid-column:2;grid-row:2}.cg-y1{grid-column:2;grid-row:3}.cg-y2{grid-column:2;grid-row:4}.cg-m{grid-row:1/3}.cg-m,.cg-n{grid-column:3}.cg-n{grid-row:3/5}.o-abs{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2}.o-abs .mini-circle{width:clamp(34px,11.5vw,74px);height:clamp(34px,11.5vw,74px);flex:none;font-size:clamp(15px,5vw,30px)}.cg-q{grid-row:2}.cg-p,.cg-q{grid-column:5}.cg-p{grid-row:3}.cg-r{grid-column:5;grid-row:4}.cg-tsu{grid-row:1}.cg-tsu,.cg-vwx{grid-column:6;justify-self:stretch}.cg-vwx{grid-row:4}.pair{display:flex;align-items:center;gap:clamp(1px,.6vw,4px);flex-wrap:nowrap;min-width:0}.pair em{color:var(--na-faint);font-style:normal;font-size:clamp(9px,2.5vw,12px);width:.7em;text-align:center;flex:0 0 0.7em}.dg{width:var(--dg);height:var(--dg);border:1.5px solid var(--na-line);border-radius:clamp(5px,1.5vw,10px);display:inline-flex;align-items:center;justify-content:center;font-size:var(--dg-font);font-weight:700;background:var(--na-surface-2);color:var(--na-ink);flex:0 0 var(--dg);box-sizing:border-box}.dg.res{border-color:var(--na-gold-deep)}.dg.big,.dg.res{color:var(--na-gold)}.dg.big{width:var(--dg-big);height:var(--dg-big);flex-basis:var(--dg-big);font-size:var(--dg-big-font);border-color:var(--na-gold)}.dg.ext{border-style:dashed;color:var(--na-muted)}.mini-circle{position:relative;width:var(--core);height:var(--core);border-radius:50%;background:radial-gradient(circle at 35% 30%,#f4e3ac,#b89645);display:flex;align-items:center;justify-content:center;color:#78571f;font-size:var(--core-font);font-weight:800;box-shadow:0 0 20px rgba(128,95,41,.2);flex:0 0 var(--core)}.mini-circle:before{content:"";position:absolute;inset:clamp(-4px,-1.2vw,-8px);border-radius:50%;border:1px dashed rgba(128,95,41,.5);animation:orb-spin 36s linear infinite;pointer-events:none}@keyframes edge-in{0%{opacity:0}}.edge-line{stroke:var(--na-gold);animation:edge-in .4s ease both}.edge-line.core{stroke-width:1.8;opacity:1}.edge-line.dim{stroke-width:1.2;opacity:.55}@keyframes node-in{0%{transform:scale(.96)}}.chart-grid .dg,.mini-circle{animation:node-in .4s ease both}.chart-note{margin-top:12px;font-size:12px;color:var(--na-faint);line-height:1.7;text-align:left}.col-label{font-size:clamp(10px,3vw,12px);color:var(--na-faint);width:auto;max-width:100%;flex:none;line-height:1.25;white-space:normal;word-break:keep-all;text-align:center}.rec-item{display:flex;align-items:center;gap:12px;padding:14px 2px;border-bottom:1px dashed var(--na-line-soft);flex-wrap:wrap}.rec-item:last-child{border-bottom:none}.rec-main{flex:1 1;min-width:180px;cursor:pointer;border-radius:10px;padding:6px 8px;margin:-6px -8px;transition:background .15s}.rec-main:hover{background:rgba(128,95,41,.07)}.rec-main:active{background:rgba(128,95,41,.12)}.rec-open{font-size:11px;color:var(--na-gold);margin-top:4px;letter-spacing:1px;opacity:.85}.rec-name{font-size:15px;font-weight:700;color:var(--na-ink)}.rec-name .badge-lp{display:inline-block;margin-left:8px;padding:1px 10px;border-radius:12px;background:var(--na-ok-bg);border:1px solid rgba(67,108,92,.35);color:var(--na-ok);font-size:11.5px;font-weight:700}.rec-sub{font-size:12px;color:var(--na-faint);margin-top:3px;line-height:1.6}.rec-miss{font-size:13px;color:var(--na-gold);font-weight:700;white-space:nowrap}.rec-del{min-height:34px;padding:6px 14px;font-size:12.5px;color:var(--na-bad);background:var(--na-bad-bg);border:1px solid rgba(160,68,57,.3);border-radius:9px;cursor:pointer}.empty-rec{text-align:center;color:var(--na-faint);font-size:13px;padding:18px 0;line-height:1.8}.empty-rec a{color:var(--na-gold)}.me-account{text-align:center;padding:8px 0 4px}.me-phone{font-family:var(--na-font-display);font-size:22px;font-weight:800;color:var(--na-ink);letter-spacing:3px}.me-since{font-size:12.5px;color:var(--na-faint);margin-top:6px}.pager{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:14px}.pg-btn{min-width:36px;min-height:36px;padding:6px 10px;border:1.5px solid var(--na-line);background:var(--na-surface-2);border-radius:9px;cursor:pointer;font-size:13px;color:var(--na-ink);font-family:var(--na-font-body)}.pg-btn:hover{border-color:var(--na-gold)}.pg-btn.cur{background:var(--na-gold);color:#fffdf8;border-color:transparent;font-weight:700}.pg-ellipsis{color:var(--na-faint);padding:0 2px}.pg-info{margin-left:auto;font-size:12px;color:var(--na-faint)}.fbar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:flex-end;margin-bottom:10px}.fbar-field{display:flex;flex-direction:column;gap:4px;width:var(--fbw,auto);min-width:0}.fbar-label{font-size:12px;font-weight:600;color:var(--na-ink);letter-spacing:0}.fbar-field>input,.fbar-field>select{width:100%;min-width:0;min-height:36px;padding:6px 10px;font-size:13px;font-family:var(--na-font-body);border:1.5px solid var(--na-line);background:var(--na-surface-2);border-radius:8px;color:var(--na-ink)}.fbar-field>input:focus-visible,.fbar-field>select:focus-visible{outline:2px solid var(--na-gold);outline-offset:1px}.fbar-check{flex-direction:row;align-items:center;gap:6px;padding-bottom:9px}.fbar-check input{width:16px;height:16px;accent-color:var(--na-gold)}.fbar-inline{display:flex;gap:6px;align-items:center}.fbar-inline>input{flex:1 1;min-width:0}.fbar-actions{padding-bottom:1px}@media (max-width:640px){.fbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:10px 12px;gap:10px 12px;align-items:end}.fbar-field{width:auto}.fbar-wide{grid-column:1/-1}}.sw-update{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom, 0px));z-index:60;margin:0 auto;max-width:460px;padding:12px 14px;border:1px solid var(--na-line);border-radius:12px;background:var(--na-surface-2);box-shadow:0 6px 24px rgb(0 0 0/12%)}.sw-update-text{margin:0 0 8px;font-size:13px;line-height:1.7;color:var(--na-muted)}.sw-update-actions{display:flex;gap:8px;justify-content:flex-end}.sw-update-confirm:disabled{opacity:.6;cursor:default}.a2hs{margin-top:4px}.a2hs .text-button{display:block;width:100%;text-align:left}.a2hs .a2hs-install{margin-bottom:4px}.a2hs-panel{margin:2px 0 6px;padding:12px 14px;border:1px solid var(--na-line);border-radius:12px;background:var(--na-surface-2)}.a2hs-steps{margin:0;padding-left:18px;color:var(--na-muted);font-size:13px;line-height:1.8}.a2hs-note{margin:10px 0 0;font-size:11px;color:var(--na-faint);line-height:1.7}.app.app-admin{min-height:100dvh;max-width:min(880px,100%);padding-bottom:env(safe-area-inset-bottom)}.page.page-admin{padding:0}