:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#eaeef7;background:#101626;line-height:1.65;font-size:15px;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(circle at 85% -5%,#283759 0,transparent 40%),#101626;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.top{padding:calc(14px + env(safe-area-inset-top)) 17px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #313e55;background:#141c30}.brand{display:flex;gap:9px;align-items:center}.sigil{color:#e5b875;font-size:26px}.kicker{font-size:9px;letter-spacing:1.5px;color:#bbad8d}h1{font-family:Georgia,"Hiragino Mincho ProN",serif;letter-spacing:.5px;font-size:18px;margin:0;line-height:1.2}h1 small{font-family:system-ui;font-weight:400;color:#abbbd4;font-size:11px}.status{font-size:10px;border:1px solid #465476;color:#b4c9e3;padding:5px 8px;border-radius:100px;white-space:nowrap}main{max-width:790px;margin:0 auto;padding:17px 14px 35px}.panel{border:1px solid #34425b;background:linear-gradient(145deg,#1c2940,#172237);border-radius:15px;padding:17px;margin-bottom:14px;box-shadow:0 8px 30px #060d1960}.panel.flat{background:#18243a}.panel h2,.panel h3{margin:0 0 8px}.panel h2{font-size:18px}.panel h3{font-size:16px}.small{color:#b8c5d8;font-size:12px}.muted{color:#a5b0c5}.eyebrow{font-size:11px;color:#e6be7e;letter-spacing:.08em;font-weight:700;margin-bottom:6px}.chapter{font-family:Georgia,serif;font-size:37px;font-weight:700;line-height:1.1;margin:8px 0;color:#f5edda}.tag{display:inline-block;background:#273c49;border:1px solid #496b5c;color:#cbe9d4;font-size:11px;border-radius:30px;padding:3px 10px}.tag.warn{background:#46332b;color:#ffd4a4;border-color:#826042}.kv{display:grid;grid-template-columns:80px 1fr;gap:9px;padding:8px 0;border-bottom:1px solid #2c3b52;font-size:13px}.kv:last-child{border:0}.kv>span:first-child{color:#a7b8d2}.notice{padding:11px;background:#2c2830;border-left:3px solid #dcac68;border-radius:6px;font-size:12px;margin:9px 0 12px}.oknotice{background:#233c39;border-left-color:#80d3b4}.btn{width:100%;border:1px solid #596c87;border-radius:10px;background:#263b59;color:#f2f6ff;font-size:14px;font-weight:650;padding:12px 14px;min-height:44px;cursor:pointer;margin:5px 0}.btn.primary{background:#cba46a;color:#161b27;border-color:#e4bd83}.btn.secondary{background:#1d304e}.btn.danger{background:#462b3a;border-color:#85465a}.btn:disabled{opacity:.42;cursor:not-allowed}.row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.row .btn{flex:1;min-width:125px}.divider{height:1px;background:#3b485d;margin:14px 0}.choice{display:flex;align-items:flex-start;gap:13px;padding:13px;background:#22314a;border:1px solid #415270;border-radius:12px;margin:9px 0}.choice strong{font-size:20px;color:#edc994}.choice p{margin:1px 0;color:#f2f4ff;font-size:14px}.choice.selected{border-color:#ebbc72;background:#3b3640}.nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#131e31f7;backdrop-filter:blur(12px);border-top:1px solid #3b4b64;padding-bottom:env(safe-area-inset-bottom);z-index:10}.navbtn{flex:1;max-width:200px;background:transparent;color:#aabbcb;border:0;padding:13px 0 11px;font-size:12px;font-weight:650}.navbtn.selected{color:#f8d090;border-top:3px solid #dcb374;padding-top:10px}.portraitgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.portrait{border:1px solid #45526b;border-radius:12px;overflow:hidden;background:#1a2940}.portrait img{width:100%;height:155px;object-fit:contain;background:#28334a}.portrait>div{padding:10px}.portrait b{display:block;font-size:14px}.portrait p{font-size:11px;color:#b9c8de;line-height:1.55;margin:4px 0}.sceneimg{width:100%;max-height:380px;object-fit:contain;background:#101827;border:1px solid #3b4d65;border-radius:9px;cursor:zoom-in}.epcard{border-left:3px solid #e5bd84;padding-left:12px;margin:13px 0}.formlabel{display:block;color:#e2e7f1;font-size:13px;font-weight:700;margin:11px 0 4px}.field{display:block;width:100%;background:#0e1b2f;border:1px solid #5b6a7e;border-radius:9px;color:#f5f6fa;font:inherit;font-size:14px;padding:11px 12px;outline-offset:2px;resize:vertical;min-height:45px}.field:focus{border-color:#e4c083}.two{display:grid;grid-template-columns:1fr 1fr;gap:9px}.checkrow{display:flex;align-items:flex-start;gap:9px;margin:11px 0;font-size:13px;line-height:1.5}.checkrow input{margin-top:4px;width:18px;height:18px;accent-color:#d6aa6e;flex-shrink:0}.fileinput{width:100%;padding:11px 0;font-size:12px}.chiplist{display:flex;flex-wrap:wrap;gap:6px}.chip{background:#26344b;border:1px solid #4c5b76;border-radius:20px;padding:4px 10px;font-size:11px}.zoom{position:fixed;inset:0;border:0;padding:0;background:#0b101ae9;width:100%;height:100%;max-width:none;max-height:none;overflow:auto;color:#fff}.zoom::backdrop{background:#060913e9}.zoom img{max-width:none;width:100%;height:auto;display:block;margin:50px auto 0}.zoombutton{position:fixed;top:calc(12px + env(safe-area-inset-top));right:14px;z-index:12;background:#314562;color:#fff;padding:9px 16px;border:1px solid #9ba8bf;border-radius:22px}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);max-width:88vw;background:#dbb876;color:#152036;border-radius:12px;padding:10px 14px;z-index:99;font-size:13px;font-weight:700;display:none;box-shadow:0 4px 20px #0008}.mono{font-family:ui-monospace,Menlo,monospace;font-size:11px;overflow-wrap:anywhere}.hint{font-size:12px;color:#c2cee0}.pill{padding:3px 8px;border-radius:15px;background:#2c364c;color:#e3d4bb;font-size:11px}.space{height:9px}.empty{text-align:center;padding:34px 15px}.empty h2{font-size:21px}.empty .sigil{font-size:42px}.grouptitle{margin:20px 0 7px;color:#f3ddae;font-size:14px}ul.facts{padding-left:18px;margin:7px 0}ul.facts li{margin:6px 0;font-size:13px}details{background:#1a2a43;padding:10px;border-radius:10px;margin:9px 0}summary{cursor:pointer;font-weight:650;font-size:13px}details pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;color:#cbd5e5;max-height:280px;overflow-y:auto} @media(min-width:600px){.portraitgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.portrait img{height:230px}main{padding:24px}}
