*{box-sizing:border-box} :root{font-family:Inter,"Yu Gothic UI","Meiryo",sans-serif;color:#263a37;background:#f5f4ef;font-size:14px;font-synthesis:none;--green:#164b46;--border:#dddeda;--muted:#72807a;--gold:#9b762c}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer;background:#fff;border:1px solid var(--border);border-radius:8px;min-height:42px;padding:9px 14px;color:inherit;font-weight:600;transition:background .15s}button:hover{background:#eef3f0;border-color:#b1c6bd}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c89435;outline-offset:3px}input,select,textarea{border:1px solid #cdd5cf;border-radius:7px;padding:10px 12px;background:#fff;color:#263a37;min-height:43px;max-width:100%;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #6a9e89;outline-offset:1px}input[type=checkbox]{min-height:auto;accent-color:var(--green);width:18px;height:18px}a{color:var(--green)}p{line-height:1.75}h1,h2,h3{line-height:1.4}h1{font-size:27px;margin:4px 0 0;letter-spacing:.03em}h2{font-size:19px;margin:0 0 14px}h3{font-size:16px;margin:8px 0}small{font-size:12px;font-weight:400}header{height:80px;border-bottom:1px solid var(--border);padding:0 35px;display:flex;align-items:center;justify-content:space-between;background:#fff}.brand{display:flex;align-items:center;text-decoration:none;gap:12px;font-size:19px;letter-spacing:.015em}.brand small{display:block;font-size:11px;letter-spacing:.18em;margin-top:1px}.brand-icon{display:grid;place-items:center;background:var(--green);color:#e7cf94;font-size:33px;width:44px;height:44px;border-radius:12px}.local{color:#60796a;font-size:12px}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:calc(100vh - 80px);max-width:1800px;margin:auto}aside{padding:32px 20px;border-right:1px solid var(--border);display:flex;flex-direction:column;background:#f8f8f4}.workspace-label,.eyebrow{font-size:10px;letter-spacing:.18em;color:#7b8c81;font-weight:700}.workspace-label{margin:0 14px 20px}nav{display:flex;flex-direction:column;gap:7px}nav button{text-align:left;background:transparent;border-color:transparent;min-height:47px;color:#63726d;font-weight:500}nav button span{display:inline-block;width:28px;font-size:20px;vertical-align:middle}nav button.active{background:#e4ebe4;color:var(--green);font-weight:700}.sidebar-note{font-size:12px;color:#718077;line-height:1.9;margin:32px 13px}.master-note{font-size:11px;line-height:1.9;color:#78867e;margin:auto 13px 0;padding-top:60px}.master-note a{display:inline-block;margin-top:10px}main{padding:38px 42px 90px;min-width:0;max-width:1380px;width:100%;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.primary{background:var(--green);border-color:var(--green);color:#fff}.primary:hover{background:#21665c;color:#fff}.secondary{background:#e8ede5;border-color:#d2ddd0;color:#27564c}.quiet{background:transparent;border-color:transparent;font-size:12px;padding:7px 10px}.icon{padding:5px 12px;background:transparent;border-color:transparent;font-size:22px}.danger{color:#a03e31}.danger:hover{background:#fff0eb}.wide{display:block;width:100%;margin-top:20px}.stats{display:flex;gap:30px;margin-bottom:23px;color:#708074;font-size:12px}.stats strong{font-size:21px;color:#3e574b;margin-right:4px}.search-panel{border:1px solid var(--border);background:#fff;border-radius:12px;padding:20px}.searchbox{display:flex;align-items:center;gap:10px;border:1px solid #c9d3ca;border-radius:8px;background:#fafbf8;padding:3px 12px}.searchbox>span{font-size:27px;color:#698275}.searchbox input{border:0;outline:0;background:transparent;width:100%;font-size:16px;padding:10px 1px}.searchbox input:focus{outline:0}.searchbox:focus-within{outline:2px solid #789d8a}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0 12px;align-items:center}.toolbar>select:last-child{margin-left:auto}.segmented{display:flex;background:#f0f2ee;border-radius:7px;padding:3px}.segmented button{background:transparent;border-color:transparent;min-height:35px;padding:7px 17px;font-size:12px;color:#7a827b}.segmented button.selected{background:#fff;border-color:#e1e4de;color:var(--green);box-shadow:0 1px 3px #00000008}details{border-top:1px solid #eceee7;padding-top:12px}summary{cursor:pointer;padding:5px 0;color:#42594f;font-weight:600;font-size:12px}summary .muted{margin-left:12px;font-weight:400}.muted{color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:15px 0}#filters{grid-template-columns:repeat(4,minmax(0,1fr))}label{font-size:12px;font-weight:600;display:flex;flex-direction:column;gap:6px;color:#607166}.check{flex-direction:row;align-items:center;gap:8px;font-weight:500}.inline-label{display:flex;flex-direction:row;align-items:center;gap:12px;margin-bottom:20px}.result-heading{display:flex;justify-content:space-between;align-items:center;margin:24px 0 15px;gap:10px;font-size:13px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.equipment{background:#fff;border:1px solid var(--border);border-top:3px solid #94ab93;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.equipment.war{border-top-color:#b49758}.equipment.stone{border-top-color:#6b9782}.equipment.ring{border-top-color:#9990bb}.card-top{display:flex;justify-content:space-between;padding:14px 17px 0;color:#947632;font-size:11px}.stone .card-top{color:#4c7b61}.ring .card-top{color:#827099}.kind{letter-spacing:.04em}.card-open{display:block;text-align:left;background:none;border:0;padding:6px 17px 4px;width:100%;font-weight:400;border-radius:0;flex:1}.card-open:hover{background:#fcfdf8}.card-open h3{font-size:16px;margin:8px 0 13px;color:#31483d}.owner{font-size:12px;color:#728376;margin-bottom:16px}.owner b{color:#375d49;display:inline-block;background:#edf3e9;padding:3px 7px;border-radius:4px}.effects{list-style:none;padding:0;margin:0;font-size:12px;line-height:1.8;font-weight:500}.effects li{margin:7px 0;display:flex;align-items:baseline;gap:6px}.effects li:before{content:'◆';color:#bbaa7c;font-size:7px}.unknown{font-size:11px;border-top:1px dashed #e3e6de;color:#86917f;padding-top:12px;margin-top:15px}.complete{font-size:11px;color:#729179}.tags{display:flex;flex-wrap:wrap;gap:5px;padding:0 17px 10px}.tags span{font-size:10px;background:#f1f2ed;color:#7c877c;border-radius:4px;padding:3px 7px}.card-footer{border-top:1px solid #eff0ea;display:flex;justify-content:space-between;padding:2px 9px}.fit{margin:0 16px 10px;border-top:1px dashed #dde5d8;padding-top:10px}.fit strong{font-size:13px;color:#37624e}.fit small{display:block;line-height:1.8;color:#7b857c;margin-top:4px}.fit p{font-size:11px;color:#718371}.empty{text-align:center;padding:60px 20px;background:#fff;border:1px dashed #d3dbce;border-radius:12px}.empty>span{font-size:48px;color:#90a68e}.empty h2{margin-top:15px}.empty p{white-space:pre-line;color:#7c8b7f;font-size:13px;margin-bottom:24px}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:20px}.cards .panel{margin:0}.panel p{font-size:13px}.panel small{color:#7d8c80}.notice,.hint{background:#edf2e8;border-radius:7px;padding:12px 16px;font-size:12px;line-height:1.8;color:#526e58;margin:15px 0}.notice small{display:block}.warning{background:#fff4dc;border-left:3px solid #c8a247;padding:10px 12px;font-size:12px;color:#846b38;line-height:1.8}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stars{color:#b29652}.section-title{margin-top:36px}.section-title small{color:#8b9388;margin-left:8px}.align-end{align-self:end}.design-panel{max-width:900px}.organize-reason{font-size:12px;background:#edece3;padding:12px;border-radius:0 0 8px 8px;line-height:1.8}.organize-reason p{margin:4px 0}.character-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border-bottom:1px solid #e5e9e1;padding:18px 0}.character-row>input{width:180px}.character-row>span{font-size:12px;color:#798577}.stock{display:flex;align-items:center;gap:12px;width:100%;margin:8px 0}.stock>b{font-size:12px;flex-shrink:0}.stock input{width:80px}.stock label{flex:1;max-width:90px}.file-button{display:flex;align-items:center;justify-content:center;background:#e6ede1;border:1px solid #d0dacb;padding:12px 17px;cursor:pointer;border-radius:8px;color:#31593c}.danger-zone{border-color:#e3cfc5}.empty-inline{color:#81917f;padding:30px}dialog{border:0;border-radius:16px;padding:26px;width:min(760px,calc(100% - 32px));max-height:90dvh;color:inherit;box-shadow:0 24px 100px #1c342540}dialog::backdrop{background:#15291cb3;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-head h2{margin:4px 0 0;font-size:23px}.modal-head small{color:#7c8d7c;letter-spacing:.1em}.registered{background:#f6f7f1;border:1px solid #e5e9de;border-radius:8px;padding:0 14px 10px;margin:17px 0}.registered .result-heading{margin:14px 0}.effect-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #e3e8dc;font-size:13px}.effect-row>span{flex:1}.effect-row select{padding:6px;min-width:85px}.quick-group{margin:16px 0}.quick-group>small{display:block;color:#526f55;margin-bottom:8px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:11px;min-height:34px;padding:6px 10px;background:#fafbf7}.compact input{font-size:14px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:16px 0}.category-grid button{min-height:58px;text-align:center;background:#f2f5ed;color:#416347;border-color:#d7e1d0}.category-grid button:hover{background:#e5eddf}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.choice-grid button{font-size:12px}.picker-heading{display:flex;align-items:center;gap:7px;margin:12px 0;font-size:13px}.picker-heading b{flex:1}.value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(75px,1fr));gap:8px;margin:15px 0}.value-grid button{font-size:19px;min-height:62px}.value-grid small{display:block;font-size:10px;margin-top:3px}.value-grid .max{background:#fff9e6;border-color:#d5bd74;color:#8b6e27}.metadata{margin-top:23px}.modal-actions{position:sticky;bottom:-26px;background:#fff;padding:16px 0 6px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e5e9df;margin-top:20px;z-index:2}.modal-actions .danger{margin-right:auto}.ring-fields{display:grid;grid-template-columns:1fr;gap:12px;margin:18px 0}.ring-slot{display:grid;grid-template-columns:85px 1fr 160px;gap:8px;align-items:center;background:#f6f4f9;border:1px solid #e1ddec;padding:14px;border-radius:8px}.ring-slot>b{font-size:13px}.ring-slot>strong{grid-column:2/-1;font-size:13px;color:#7a6c91}.lacrima-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.lacrima-grid>div{background:#f4f6ef;padding:12px 8px;display:flex;flex-direction:column;text-align:center;gap:6px;font-size:12px;border-radius:6px}.lacrima-grid b{font-size:17px}.shortage{color:#aa4e33}.plan{margin-top:20px}.wish-condition{display:grid;grid-template-columns:1fr 120px 135px 40px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #e5eadf;font-size:12px}.wish-condition select{padding:9px 5px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:90%;padding:13px 22px;background:#274b37;color:white;border-radius:9px;z-index:100;box-shadow:0 5px 25px #0002;opacity:0;pointer-events:none;transition:opacity .2s;font-size:13px}#toast.show{opacity:1}#toast.error{background:#943e2f}body:has(dialog[open]){overflow:hidden}textarea{resize:vertical;min-height:70px}
@media(min-width:1500px){.cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1150px){main{padding:28px 26px 90px}.shell{grid-template-columns:205px minmax(0,1fr)}aside{padding:25px 12px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}#filters{grid-template-columns:repeat(3,minmax(0,1fr))}.toolbar>select:last-child{margin-left:0}}
@media(max-width:760px){header{height:68px;padding:0 18px}.brand{font-size:16px}.brand-icon{width:38px;height:38px}.local{font-size:10px}.shell{display:block}aside{border:0;padding:0;background:#fff;position:sticky;top:0;z-index:4}aside>.workspace-label,.sidebar-note,.master-note{display:none}nav{flex-direction:row;gap:0;justify-content:space-around;border-bottom:1px solid #dde3d6}nav button{font-size:10px;padding:7px 5px;text-align:center;border-radius:0;flex:1;line-height:1.5}nav button span{display:block;margin:auto;font-size:19px}main{padding:24px 16px 80px}h1{font-size:23px}.page-heading{margin-bottom:20px}.page-heading .primary{font-size:12px;padding:10px}.stats{gap:15px;justify-content:space-between;font-size:10px}.stats strong{font-size:18px}.search-panel{padding:13px}.toolbar{gap:8px}.segmented{width:100%}.segmented button{flex:1}.toolbar>select{flex:1;width:45%;font-size:12px}#filters{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{gap:12px}.owner span{display:block;margin-top:6px}.equipment .card-top{padding:12px 12px 0}.card-open{padding:5px 12px}.effects{font-size:11px}.card-open h3{font-size:14px}.card-footer .quiet{font-size:10px;padding:8px 5px}.tags{padding:0 12px 10px}.panel{padding:18px}.stock{gap:7px;flex-wrap:wrap}.stock>b{width:100%}.stock input{width:100%;padding:8px}.stock label{max-width:none}.ring-slot{grid-template-columns:1fr 1fr}.ring-slot>b{grid-column:1/-1}.ring-slot>strong{grid-column:1/-1}.wish-condition{grid-template-columns:1fr 1fr 40px}.wish-condition>b{grid-column:1/-1}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-grid{gap:7px}.category-grid button{font-size:12px;padding:8px}dialog{width:100%;max-height:95dvh;margin:auto 0 0;border-radius:16px 16px 0 0;padding:20px 16px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.modal-actions{bottom:-20px;padding-bottom:15px}.modal-actions button{flex:1}.modal-actions .danger{flex:0}.metadata .form-grid{grid-template-columns:1fr 1fr}.modal-head h2{font-size:20px}.form-grid{gap:11px}.result-heading>.muted{font-size:10px}.fit{margin:0 12px 10px}.searchbox .quiet{font-size:10px;padding:5px}.empty{padding:40px 14px}.section-title small{display:block;margin:6px 0}.local{display:none}}
@media(max-width:400px){.cards{grid-template-columns:1fr}.owner span{display:inline}.stats{gap:9px}.form-grid{grid-template-columns:1fr 1fr}.effect-row{font-size:12px}}
.searchbox{flex-direction:row}
.searchbox>.quiet{flex-shrink:0;white-space:nowrap}.searchbox>span{flex-shrink:0}
@media(max-width:760px){dialog{max-width:none}.card-footer button{min-height:44px}}

/* The theme changes presentation only; layout and controls stay identical. */
:root[data-theme="dark"]{color:#e0e8e2;background:#111a17;--border:#3a4c43;--muted:#a5b5aa;--green:#9cd4bb;--gold:#dfc486}
[data-theme="dark"] :is(header,aside,.panel,.equipment,.search-panel,.empty,dialog,.modal-actions){background:#1b2923;color:#e0e8e2}
[data-theme="dark"] :is(button,input,select,textarea){background:#25372e;color:#e0e8e2;border-color:#455b4d}
[data-theme="dark"] button:hover{background:#344c3f;border-color:#7da28a}
[data-theme="dark"] :is(.quiet,.icon,.card-open,nav button){background:transparent;border-color:transparent}
[data-theme="dark"] .card-open:hover{background:#25372e}
[data-theme="dark"] .primary{background:#a1d5b9;color:#13291d;border-color:#a1d5b9}
[data-theme="dark"] .primary:hover{background:#b8e4cb;border-color:#b8e4cb}
[data-theme="dark"] :is(.secondary,.file-button,nav button.active){background:#324d3e;border-color:#4a6956;color:#ccebd8}
[data-theme="dark"] :is(.searchbox,.segmented,.registered,.category-grid button,.lacrima-grid>div){background:#14211b;border-color:#405b49;color:#d1e4d6}
[data-theme="dark"] .searchbox input{background:transparent;border:0;color:#e0e8e2}
[data-theme="dark"] input::placeholder,[data-theme="dark"] textarea::placeholder{color:#a5b5aa;opacity:1}
[data-theme="dark"] .segmented button{background:transparent;color:#bdcabe;border-color:transparent}
[data-theme="dark"] .segmented button.selected{background:#395240;border-color:#58745f;color:#e6f3e8}
[data-theme="dark"] :is(.hint,.notice,.organize-reason){background:#283c2e;color:#c7ddcb}
[data-theme="dark"] .warning{background:#3b3020;color:#f0d6a2;border-color:#c8a247}
[data-theme="dark"] .value-grid .max{background:#3c3520;border-color:#aa9153;color:#f5dda0}
[data-theme="dark"] .ring-slot{background:#2b2938;border-color:#514c65}
[data-theme="dark"] .ring-slot>strong{color:#d5c7ed}
[data-theme="dark"] :is(.stats strong,.card-open h3,.fit strong){color:#d0e6d6}
[data-theme="dark"] :is(label,summary,nav button,.quick-group>small,.local,.owner){color:#c0d0c4}
[data-theme="dark"] :is(.muted,.stats,.sidebar-note,.master-note,.workspace-label,.eyebrow,.panel small,.modal-head small,.unknown,.complete,.fit small,.fit p,.empty p,.empty-inline,.character-row>span,.section-title small){color:#a7b9ac}
[data-theme="dark"] .owner b{background:#304739;color:#d0ead5}
[data-theme="dark"] .tags span{background:#2d3b32;color:#c6d5c8}
[data-theme="dark"] .card-top{color:#e1c47f}
[data-theme="dark"] .stone .card-top{color:#aad7b7}
[data-theme="dark"] .ring .card-top{color:#cebee8}
[data-theme="dark"] :is(.stars,.effects li:before){color:#ddc383}
[data-theme="dark"] :is(.danger,.shortage){color:#ffb29c}
[data-theme="dark"] .danger:hover{background:#49302a}
[data-theme="dark"] :is(details,.card-footer,.unknown,.fit,.character-row,.effect-row,.modal-actions,.wish-condition,nav){border-color:#3a4c43}
[data-theme="dark"] .brand-icon{background:#345847;color:#f4dea5}
.theme-setting{max-width:250px}
.header-actions{display:flex;align-items:center;gap:18px}.save-app{white-space:nowrap;flex-shrink:0}#install-popup{max-width:570px}#install-popup .panel{border:0;padding:0;margin-bottom:0}#install-popup .panel>h2{display:none}
@media(max-width:760px){.header-actions{gap:0}.save-app{font-size:12px;padding:9px 11px}header{gap:10px}.brand{font-size:14px;gap:8px}.brand-icon{width:32px;height:36px}#install-popup{max-width:100%}}
