:root{font-family:Inter,"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e8efff;background:#09111f;font-synthesis:none;color-scheme:dark;--muted:#a3b1ca;--line:#293851;--blue:#6baaff;--panel:#131f33}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:44px;border:1px solid var(--line);border-radius:12px;background:#1b2940;color:inherit;padding:10px 15px;font-weight:600}button:hover{border-color:#6b98d6;background:#243952}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8fc4ff;outline-offset:3px}a{color:#8fc4ff}input,select{width:100%;min-height:48px;border:1px solid #35465f;border-radius:12px;background:#0e192b;color:inherit;padding:11px 13px;font-size:16px}input:focus,select:focus{border-color:var(--blue)}.app{max-width:1000px;margin:auto;padding:0 28px 100px}header{display:flex;align-items:center;justify-content:space-between;padding:28px 0 24px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#f0f5ff;letter-spacing:2px;font-size:17px;font-weight:750}.brand b{color:var(--blue)}.brand small{display:block;font-size:8px;color:#95a7c8;letter-spacing:2.2px;margin-top:5px}.brandmark{width:40px;height:40px;display:grid;place-content:center;background:#327ce8;transform:rotate(-8deg);border-radius:12px;font-size:29px;letter-spacing:-4px;position:relative}.brandmark span{font-size:16px;color:#bfe7ff}.iconbtn{padding:5px;font-size:23px;width:44px}.formatbar{display:flex;align-items:center;justify-content:space-between;padding:22px 0 8px;gap:12px}.eyebrow{font-size:10px;letter-spacing:2px;color:#90a5c7;font-weight:700}.segment{display:flex;background:#101c2e;border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px}.segment button{border:none;background:transparent;font-size:13px;min-height:44px;padding:8px 18px;border-radius:9px}.segment button.active{background:#397fe4;color:white;box-shadow:0 3px 10px #0003}main{padding-top:28px;min-height:65vh}h1{font-size:30px;letter-spacing:-1px;margin:8px 0 12px;line-height:1.4}h2{font-size:19px;margin:0}h3{font-size:16px;margin:0}p{line-height:1.75;margin:10px 0;color:var(--muted);font-size:14px}.lead{max-width:530px}.hero{position:relative;overflow:hidden;padding:28px;border-radius:22px;background:linear-gradient(120deg,#162d50,#13223c 72%);border:1px solid #36557d;margin-bottom:26px}.hero:after{content:"";position:absolute;right:-50px;top:-85px;width:290px;height:290px;border:45px solid #579afa0b;border-radius:50%;pointer-events:none}.hero .eyebrow{color:#8fc4ff}.primary{background:#4b92f5;border-color:#65a6ff;color:#06172f}.primary:hover{background:#7bb2ff}.hero button{margin-top:14px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.sectionhead{margin:24px 0 14px}.muted{color:var(--muted)}.mini{font-size:12px;line-height:1.7}.pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #334a69;color:#b6d5ff;border-radius:8px;padding:3px 8px;font-size:11px}.notice{border-left:3px solid #d3ac69;background:#2b271f70;color:#dbc5a4;padding:12px 14px;font-size:12px;line-height:1.8;border-radius:4px 10px 10px 4px;margin:18px 0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px;margin:16px 0}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.actions>*{flex:1;white-space:nowrap}.teamgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.slot{min-height:151px;padding:12px 6px;position:relative;text-align:center;background:linear-gradient(140deg,#1b2b43,#142035);border:1px solid #34465f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.slot.empty{border-style:dashed;color:#91a4c4;background:#101b2d}.slotnum{position:absolute;top:9px;left:10px;color:#8fa4c5;font-size:10px;font-weight:500}.lock{position:absolute;right:8px;top:8px;font-size:10px;color:#ffd69c}.avatar{width:48px;height:48px;display:flex;align-items:center;justify-content:center;position:relative;border-radius:50%;border:1px solid #7dc2ff55;background:radial-gradient(circle at 35% 20%,#79c3ee33,#243d5933);color:#cce8ff;font-size:22px;font-weight:800;flex-shrink:0}.avatar:after{content:"";position:absolute;inset:4px;border:1px solid #84c1ff16;border-radius:50%}.slotname{font-size:13px;max-width:100%;overflow-wrap:anywhere}.plus{font-size:32px;font-weight:300;color:#6296ce}.smalltype{font-size:10px;color:#a4bad7}.cardline{display:flex;gap:14px;align-items:center}.teamlist{display:grid;grid-template-columns:1fr 1fr;gap:12px}.savedcard{width:100%;text-align:left;padding:18px;background:#152239}.savedcard .pips{display:flex;gap:6px;margin:15px 0 10px}.pip{height:7px;flex:1;border-radius:5px;background:#2c3e59}.pip.filled{background:#68a9ff}.search{position:relative;margin:17px 0}.search input{padding-left:40px}.search:before{content:"⌕";position:absolute;left:14px;top:7px;font-size:26px;color:#8caad3}.filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}label{font-size:12px;color:#a9bad5;display:grid;gap:7px}label.full{grid-column:1/-1}.filterrow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dexlist{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.monrow{display:flex;text-align:left;align-items:center;gap:12px;min-width:0;padding:13px;background:#142237;min-height:96px}.monrow strong{display:block;font-size:14px;overflow-wrap:anywhere}.monrow .avatar{width:42px;height:42px;font-size:18px}.monrow .text{min-width:0;flex:1}.tag{font-size:10px;border-radius:5px;background:#294562;color:#c1d7f0;padding:3px 5px;display:inline-block;margin:5px 3px 0 0}.tag[data-type="Fire"]{background:#703f2c}.tag[data-type="Water"]{background:#244e7d}.tag[data-type="Grass"]{background:#2a5d46}.tag[data-type="Electric"]{background:#6c5b25}.tag[data-type="Fairy"]{background:#68415f}.tag[data-type="Ghost"],.tag[data-type="Dragon"]{background:#4b437d}.statline{margin-top:6px;font-size:10px;color:#9bb2ce}footer{text-align:center;color:#8194b1;font-size:10px;line-height:1.9;padding:28px 0 10px}.bottom{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1000px);display:grid;grid-template-columns:repeat(5,1fr);background:#0e192bf5;border-top:1px solid #30415c;padding:8px 14px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(16px)}.bottom button{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;background:none;border:none;font-size:10px;color:#91a6c5;border-radius:11px;min-height:53px;padding:3px}.bottom button span{font-size:24px;line-height:1.1}.bottom button.active{background:#24446c77;color:#8ac0ff}.emptyview{text-align:center;padding:40px 15px}.emptyview .symbol{font-size:45px;color:#6b94c4;padding:15px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.stats div{padding:12px;background:#0e1b2f;border:1px solid var(--line);border-radius:10px;color:#a3b6d2;font-size:11px}.stats b{display:block;font-size:23px;color:#eaf4ff;margin-top:5px}dialog{color:inherit;border:1px solid #3c5173;background:#132137;border-radius:22px;width:calc(100% - 24px);max-width:520px;max-height:88dvh;padding:22px;box-shadow:0 24px 100px #0008}dialog::backdrop{background:#030a16bc;backdrop-filter:blur(5px)}dialog .row{margin-bottom:16px}dialog h2{overflow-wrap:anywhere}dialog .close{min-width:44px;font-size:20px;padding:5px}.danger{color:#ffc1b8;border-color:#794b4d;background:#44262e}.backupfile{margin:15px 0}#toast{position:fixed;z-index:60;bottom:95px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 28px);color:#e4f1ff;background:#294667;border:1px solid #628bbb;padding:14px 20px;border-radius:14px;font-size:13px;box-shadow:0 5px 30px #0005}#storageWarning{background:#4c2d26;padding:14px;font-size:13px;line-height:1.7;border-radius:12px;margin-top:15px}.dataitem{border-bottom:1px solid var(--line);padding:13px 0}.dataitem strong{display:block;font-size:13px}.dataitem p{font-size:12px;margin:5px 0}.loading{padding:50px;text-align:center}.titleinput{font-size:20px;font-weight:700;margin:8px 0 10px}.chiprow{display:flex;gap:6px;flex-wrap:wrap}.resultcount{color:#b3c8e6;font-size:12px}details summary{min-height:44px;display:flex;align-items:center;font-size:13px;color:#aac4e6;cursor:pointer}details[open] summary{margin-bottom:10px}.inlinecheck{display:flex;align-items:center;gap:10px}.inlinecheck input{width:22px;min-height:22px}.statusline{font-size:11px;color:#a6cba9;margin-top:12px} @media(max-width:600px){.app{padding:0 18px 100px}header{padding:20px 0}.brand{font-size:14px}.brand small{font-size:7px}.brandmark{width:36px;height:36px}main{padding-top:21px}h1{font-size:26px}.hero{padding:23px 20px}.formatbar .eyebrow{font-size:8px;letter-spacing:1.3px}.segment button{padding:8px 13px}.teamlist{grid-template-columns:1fr}.teamgrid{gap:8px}.slot{min-height:143px}.dexlist{grid-template-columns:1fr}.panel{padding:17px}.monrow{min-height:87px}.avatar{width:45px;height:45px}.actions>*{white-space:normal}.row{gap:8px}.slotname{font-size:12px}.smalltype{font-size:9px}}@media(prefers-reduced-motion:no-preference){main{animation:appear .22s ease}@keyframes appear{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
/* Phase 1-B①: retain the existing shell; extend the detail sheet. */
.buildgrid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px}.buildbasics{display:grid;gap:14px}fieldset{min-width:0;margin:0;padding:14px;border:1px solid var(--line);border-radius:14px}fieldset label+label{margin-top:11px}legend{font-weight:650;font-size:14px;padding:0 6px}.pointbox{margin-top:22px}.pointgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pointgrid label+label{margin-top:0}.pointgrid input{min-width:0;text-align:center}.formerror{color:#ffc2b8;font-size:12px;line-height:1.7}.formerror:empty{display:none}.copybuild{width:100%;margin-top:10px;white-space:normal}.build-savebar{position:sticky;bottom:-22px;padding:10px 0;background:#132137f5;z-index:1}.librarycard{border:1px solid var(--line);border-radius:14px;padding:15px;margin:12px 0;overflow-wrap:anywhere}.librarycard .actions button{font-size:12px}.librarycard strong{font-size:15px}.librarycard .mini{margin:8px 0}.buildlabel{font-size:10px;color:#9dc8ff;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot:has(.buildlabel){min-height:158px}#sheet{scroll-padding-top:15px}#sheetBody>h3{margin-top:18px}.buildtools{margin-top:22px;border-top:1px solid var(--line);padding-top:15px}.buildtools summary{font-size:14px}.library-new{display:grid;gap:10px;margin:15px 0}
/* Phase 2-A①: ability values and minimum-point search inside the existing editor. */
.pointcell{min-width:0}.pointcell>label{margin:0}.stat-detail{border:1px solid #365b84;background:#1a3351;border-radius:10px;margin-top:7px;position:relative}.stat-detail summary{display:flex;flex-direction:column;gap:2px;justify-content:center;padding:7px 3px;min-height:59px;margin:0!important;list-style:none}.stat-detail summary::-webkit-details-marker{display:none}.stat-detail summary span{font-size:9px;color:#a8c6ec}.stat-detail summary b{font-size:23px;color:#e4f4ff}.stat-detail[open]{grid-column:1/-1}.stat-detail p{position:relative;margin:0;padding:9px;overflow-wrap:anywhere;font-size:10px}.stat-table{width:100%;border-collapse:collapse;font-size:11px;margin-bottom:14px}.stat-table th,.stat-table td{text-align:right;border-bottom:1px solid #31435c;padding:9px 4px}.stat-table th:first-child{text-align:left}.inverse-box{margin-top:15px}.inverse-box legend{font-size:13px}.inverse-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inverse-grid label+label{margin:0}.inverse-grid input{min-width:0}#applyInverse{width:100%;white-space:normal}.inverse-success{color:#b1e2c5}.calc-provenance{margin-top:14px}.calc-provenance p{overflow-wrap:anywhere}.pointbox>p{margin-top:6px}
.battle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.battle-actor select{width:100%;max-width:100%}.battle-actor{min-width:0}.battle-grid fieldset{min-width:0}.checklabel{display:flex;align-items:center;gap:10px;min-height:48px;font-size:14px;margin:8px 0}.checklabel input{width:22px;height:22px;flex-shrink:0}.battle-actor label{margin:12px 0}#battleResult{overflow-wrap:anywhere}#battleResult table{width:100%;font-size:13px;border-collapse:collapse}#battleResult td,#battleResult th{padding:8px 4px;border-bottom:1px solid #29405e}.rolls{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.rolls span{background:#102036;border-radius:6px;padding:8px;text-align:center;font-size:13px}@media(max-width:600px){.battle-grid{grid-template-columns:1fr}.battle-actor{margin-bottom:0}}

/* Stitch integration phase 1: visual layer and home dashboard; no state or calculation changes */
:root{--muted:#aebcdb;--line:#2a3b60;--blue:#6394ff;--panel:#111d36;background:#070e20;color:#edf2ff}body{background:radial-gradient(ellipse at 50% -20%,#172d62 0%,#080f21 48%,#070d1c 100%)}.app{max-width:1120px}header{border-bottom:0;padding:22px 0 12px}.brand{font-size:18px;letter-spacing:.4px}.brandmark{background:linear-gradient(135deg,#1858ff,#9c65f7);box-shadow:0 6px 24px #225dff50}.brand b{background:linear-gradient(90deg,#4ca2ff,#a184ff);background-clip:text;color:transparent}.formatbar{padding:10px 0 6px}.formatbar .eyebrow{display:none}.segment{width:100%;display:grid;grid-template-columns:1fr 1fr;border-radius:999px;background:#101d37;border-color:#2d436e;padding:4px}.segment button{border-radius:999px;font-size:14px}.segment button.active{background:linear-gradient(100deg,#1757f6,#4e9bff);box-shadow:0 5px 18px #1c61ff55}.stitch-welcome{position:relative;isolation:isolate;overflow:hidden;border:1px solid #3159b4;border-radius:23px;padding:28px 24px;margin:0 0 27px;background:radial-gradient(circle at 85% 40%,#244dba70,transparent 44%),linear-gradient(135deg,#0e1b43,#101c46 62%,#101e3b);box-shadow:inset 0 1px #749bff3a,0 12px 35px #020a1d55}.stitch-welcome h1{position:relative;z-index:1;font-size:clamp(27px,4vw,42px);line-height:1.35;margin:12px 0}.stitch-welcome h1 em{font-style:normal;color:#83aaff}.stitch-welcome p{color:#c4d2f5}.stitch-kicker{font-size:10px;letter-spacing:1.6px;color:#a5bfff;font-weight:700}.stitch-hero-action{position:relative;z-index:1;margin-top:12px;background:linear-gradient(110deg,#155dff,#479cff);color:white;border:0;border-radius:13px;box-shadow:0 7px 20px #185aff55}.stitch-hero-glow{position:absolute;right:5%;top:3%;font-size:155px;line-height:1;color:#5286ff35;text-shadow:0 0 70px #4783ff;pointer-events:none}.stitch-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 0 14px}.stitch-section-heading h2{font-size:19px}.stitch-section-heading button,.stitch-current>.row button{background:transparent;border:0;color:#82adff;padding:5px;font-size:12px}.stitch-subtle{font-size:10px;letter-spacing:1px;color:#8095bd}.stitch-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stitch-tools>button{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:134px;padding:16px;background:linear-gradient(145deg,#172b53,#101d36);border:1px solid #2e4671;border-radius:17px;gap:7px}.stitch-tools strong{font-size:14px}.stitch-tools small{font-size:11px;font-weight:400;color:#a9bce0}.stitch-tool-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:linear-gradient(135deg,#1466ff,#6095ff);box-shadow:0 5px 18px #145fff45;color:white;font-size:23px}.stitch-chevron{position:absolute;right:13px;bottom:13px;color:#8eaee6;font-size:24px}.stitch-current{border:1px solid #2c4776;background:linear-gradient(145deg,#121f3d,#0d172b);border-radius:18px;padding:15px}.stitch-current>.row{margin-bottom:14px}.stitch-current .teamgrid{gap:8px}.stitch-current .slot{min-height:130px}.slot{background:linear-gradient(150deg,#172b50,#0f1d35);border-color:#304b78;border-radius:13px}.slot.empty{background:#0a1529;border-color:#42608e}.savedcard{background:linear-gradient(135deg,#152747,#101b31);border-color:#304a75;border-radius:15px}.panel{background:#111e37;border-color:#2c4168}.bottom{background:#081328f5;border-color:#2a416b}.bottom button.active{background:transparent;color:#6aa4ff;text-shadow:0 0 14px #327aff}.bottom button.active span{filter:drop-shadow(0 0 7px #2777ff)}@media(max-width:600px){.app{padding:0 16px 105px}header{padding-top:18px}.stitch-welcome{padding:24px 19px}.stitch-tools>button{padding:13px;min-height:129px}.stitch-current{padding:10px}.stitch-current .slot{min-height:121px;padding:8px 3px}.stitch-current .slotname{font-size:11px}.stitch-current .buildlabel{font-size:9px}.stitch-current .avatar{width:37px;height:37px;font-size:18px}.stitch-current .smalltype{font-size:9px}}
