:root{--bg:#f3f0ea;--paper:#fcfaf6;--ink:#302c28;--muted:#71695f;--accent:#a64634;--line:#ddd6cc;--yellow:#f0d58b;--red:#a64634}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,"Malgun Gothic",sans-serif;font-size:15px;line-height:1.65;word-break:keep-all}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:3px solid #b65a43;outline-offset:4px}button{border:0;background:none;color:inherit}h1,h2,h3,p{margin:0}h1{font-size:36px;line-height:1.4;letter-spacing:-1.6px;font-weight:800}h2{font-size:22px;letter-spacing:-.7px;line-height:1.45}h3{font-size:17px;line-height:1.5}small,.muted{color:var(--muted)}.sidebar{position:fixed;width:235px;inset:0 auto 0 0;background:#faf7f2;border-right:1px solid var(--line);padding:34px 22px;z-index:30;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:9px;font-size:23px;font-weight:850;letter-spacing:-1px}.brand svg{width:46px;flex-shrink:0}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:1px;margin-top:2px}.nav-caption{margin:43px 13px 12px;color:#81776b;font-size:11px;letter-spacing:1.3px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{padding:11px 13px;border-radius:7px;display:flex;align-items:center;gap:14px;font-weight:600;font-size:14px}.sidebar nav a>span{width:21px;font-size:22px;font-weight:400;line-height:1.1}.sidebar nav a.active{background:#f1e2d9;color:#8d3b2d}.sidebar nav a:hover{background:#ece6dd}.new-dot,.sync-dot{width:6px;height:6px;background:#a64634;display:inline-block;border-radius:50%}.new-dot{margin-left:auto}.side-note{position:relative;margin:46px 8px 0;padding:22px 14px 8px;background:#e9e2d7;transform:rotate(-2deg);font-size:12px}.side-note strong{font-weight:700}.side-note small{font-size:10px}.side-note img{display:block;margin:8px auto -4px}.tape{position:absolute;width:61px;height:16px;background:#b7aa9599;top:-8px;left:52px;transform:rotate(5deg)}.side-foot{font-size:10px;color:#81776b;margin-top:auto;padding:20px 10px 0}.shell{margin-left:235px}.topbar{height:76px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;justify-content:space-between;align-items:center;background:#faf7f2;font-size:12px}.topbar>div{display:flex;gap:8px;align-items:center;color:var(--muted)}.text-button{font-size:12px;padding:5px 12px;text-decoration:underline;text-underline-offset:4px}.mobile-menu{display:none}main{max-width:1260px;margin:auto;padding:34px 42px 55px;min-height:calc(100vh - 156px)}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px;gap:18px}.page-head p{font-size:13px;color:var(--muted);margin-top:7px}.date{font-size:12px;white-space:nowrap;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.3px;color:var(--accent);font-weight:700;margin-bottom:8px}.hero{height:289px;position:relative;border-radius:12px;overflow:hidden;border:1px solid #d8cfc1;background:#eee9e1}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right;opacity:.85}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#eee9e1 0%,#eee9e1f2 28%,#eee9e100 62%)}.hero-copy{position:relative;z-index:2;padding:36px 32px;max-width:480px}.hero-copy h2{font-size:30px;line-height:1.45;letter-spacing:-1.3px}.hero-copy p{font-size:13px;margin:10px 0 20px;color:#6f6258}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:11px 19px;border-radius:5px;font-size:13px;font-weight:650;min-height:44px}.primary{background:var(--accent);color:#fff}.primary:hover{background:#873628}.secondary{border:1px solid #cfc4b6;background:#faf7f2}.hero-goblin{position:absolute;width:150px;right:19%;bottom:15px;z-index:3;filter:drop-shadow(0 5px 0 #a6463422);transform:rotate(4deg)}.hero-caption{position:absolute;right:20px;bottom:15px;font-size:10px;color:#f2ebe1;z-index:4}.quick-row{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:9px;background:var(--paper);margin:21px 0 28px}.quick-row a{display:flex;align-items:center;gap:15px;padding:20px 22px;border-right:1px solid var(--line)}.quick-row a:last-child{border:0}.quick-row a:hover{background:#f1ebe3}.quick-icon{font-size:24px;color:#8b7463}.quick-row h3{font-size:14px}.quick-row p{font-size:11px;color:var(--muted);margin-top:3px}.arrow{margin-left:auto}.home-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);gap:24px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-head{padding:20px 23px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-head h2{font-size:18px}.panel-head a,.small-link{font-size:11px;color:var(--muted)}.mini-region{padding:15px 23px;border-top:1px solid #e4dcd1;display:flex;align-items:center;gap:16px}.region-thumb{width:52px;height:48px;border-radius:6px;background:#e5ded2 url('images/world.webp') 60% 65%/190px;position:relative;flex-shrink:0}.region-thumb.cave{filter:saturate(.45);background-position:10% 80%;background-color:#d1c7ba}.mini-region h3{font-size:13px}.mini-region small{font-size:11px}.mini-region .value{margin-left:auto;text-align:right;font-weight:650;font-size:14px}.mini-region .value small{display:block;font-weight:400;font-size:10px}.panel-foot{padding:11px 23px;background:#f0ebe3;font-size:10px;color:var(--muted)}.patch-line{display:flex;align-items:start;gap:13px;padding:12px 23px;border-top:1px solid #e4dcd1}.patch-line time{font-size:10px;color:var(--muted);padding-top:3px}.patch-line strong{font-size:13px;font-weight:650;display:block}.patch-line p{font-size:11px;color:var(--muted)}.journal-banner{margin-top:24px;padding:20px 25px;background:#ebe4da;border:1px dashed #bcb0a0;border-radius:7px;display:flex;align-items:center;gap:19px}.journal-banner .book{font-size:26px}.journal-banner p{font-size:12px;color:var(--muted);margin-top:3px}.journal-banner a{margin-left:auto;font-size:12px;border-bottom:1px solid #a28a77;white-space:nowrap}footer{max-width:1260px;margin:auto;padding:20px 42px;border-top:1px solid var(--line);display:flex;gap:16px;align-items:center;color:var(--muted);font-size:10px}footer strong{font-size:12px}footer a{margin-left:auto}.section{margin-top:23px}.form-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:22px}.padded{padding:26px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field{display:flex;flex-direction:column;gap:7px;font-size:12px}.field.full{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #c9bfb2;border-radius:5px;padding:11px 12px;background:#fffdf9;color:var(--ink);font-size:14px;min-height:44px}textarea{resize:vertical}label small{font-size:10px}.form-title{margin-bottom:20px}.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:23px}.hint{font-size:11px;color:var(--muted);line-height:1.7}.note{padding:15px 18px;background:#efe7d9;border-left:3px solid #ab8c56;font-size:12px;line-height:1.8;margin-bottom:22px}.skill-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:230px;overflow:auto;padding:8px 2px}.skill-checks label{font-size:12px;display:flex;gap:7px;align-items:center;cursor:pointer}.skill-checks input{width:16px;min-height:16px;accent-color:var(--accent)}.section-title{margin:27px 0 10px;font-size:16px}.screenshot{width:100%;max-height:320px;object-fit:contain;margin-top:12px}.empty{text-align:center;padding:40px 22px}.empty img{width:100px;margin-bottom:12px}.empty p{font-size:13px;margin:8px auto 18px;max-width:360px;color:var(--muted)}.toolbar{display:flex;gap:12px;margin:20px 0}.toolbar input{flex:2}.toolbar select{flex:1}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{text-align:left;background:#ece5db;font-size:11px;color:#6e6256;font-weight:600;padding:13px 20px}td{padding:14px 20px;border-bottom:1px solid #e3dbd0}td strong{font-size:13px}.positive{color:#3d7955}.pagination{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;font-size:12px}.result{padding:23px;background:#eee5db;border:1px solid #c6b7a5;border-radius:7px;margin-top:22px}.result strong.big{font-size:29px;letter-spacing:-1px}.result p{font-size:12px;color:#746353}.compare-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.compare-result{padding:25px;text-align:center;background:#f1eae1}.compare-result .number{font-size:32px;font-weight:750;margin:15px 0 3px}.compare-result small{font-size:11px}.record{display:flex;justify-content:space-between;padding:18px 22px;border-top:1px solid var(--line);gap:12px}.record p{font-size:12px;color:var(--muted)}.record .number{font-weight:700}.record button{font-size:11px;color:var(--muted);text-decoration:underline}.page-label{font-size:11px;letter-spacing:1px;color:var(--accent);margin-bottom:8px}.status-line{border-top:1px solid var(--line);padding-top:16px;margin-top:18px;font-size:12px}.check-note{font-size:11px;color:var(--muted);margin-top:12px}dialog{border:1px solid #bcb0a0;border-radius:10px;max-width:480px;width:calc(100% - 32px);padding:32px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#241c1670}dialog h2{margin-bottom:16px}dialog p{font-size:13px;margin:12px 0}dialog .primary{margin-top:15px}.dialog-close:not(.primary){position:absolute;right:12px;top:7px;font-size:25px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:12px 22px;border-radius:5px;background:#44362c;color:white;z-index:99;opacity:0;pointer-events:none;transition:.2s;font-size:13px}#toast.show{opacity:1;transform:translate(-50%,0)}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(min-width:1500px){main{padding-top:42px}.hero{height:320px}.hero-copy{padding:42px}.hero-goblin{width:170px}}@media(max-width:1100px){.sidebar{width:205px;padding:28px 14px}.shell{margin-left:205px}.brand{font-size:21px}main{padding:28px}.topbar{padding:0 28px}.home-grid{grid-template-columns:1fr}.hero-goblin{right:8%;width:135px}.quick-row a{padding:16px 12px;gap:9px}.quick-row p{font-size:10px}.form-layout{grid-template-columns:1fr}footer{padding:20px 28px}}@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:.2s;width:235px;box-shadow:5px 0 50px #30251d22}.sidebar.open{transform:translateX(0)}.shell{margin:0}.topbar{height:60px;padding:0 18px;gap:10px}.topbar>div{font-size:10px;margin-left:auto}.topbar .text-button{display:none}.mobile-menu{display:block;font-size:20px;padding:6px}main{padding:25px 18px 40px}.page-head{align-items:start}.page-head h1{font-size:27px}.date{font-size:10px;padding-top:8px}.hero{height:310px}.hero-copy{padding:25px 23px;max-width:310px}.hero-copy h2{font-size:25px}.hero-copy p{font-size:12px;max-width:220px}.hero:after{background:linear-gradient(100deg,#eee9e1 0%,#eee9e1de 40%,#eee9e100 100%)}.hero-goblin{width:105px;right:3%;bottom:1px}.hero-art{object-position:60%}.hero-caption{display:none}.quick-row{grid-template-columns:1fr;margin:18px 0}.quick-row a{border-right:0;border-bottom:1px solid var(--line);padding:13px 18px}.quick-row p{font-size:11px}.quick-icon{width:25px}.home-grid{gap:18px}.panel-head{padding:18px}.mini-region{padding:14px 18px}.journal-banner{padding:18px;gap:10px;align-items:start}.journal-banner a{font-size:11px}.journal-banner h3{font-size:14px}.journal-banner .book{display:none}footer{padding:19px;flex-wrap:wrap;gap:7px}footer span{width:100%}footer a{margin:0}.fields{gap:14px}.padded{padding:20px}.compare-pair{gap:10px}.compare-result{padding:20px 8px}.compare-result .number{font-size:25px}.toolbar{flex-direction:column}.skill-checks{grid-template-columns:1fr 1fr}td,th{padding:12px 16px}.record{flex-wrap:wrap}.topbar #breadcrumb{font-size:11px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.nav-icon{width:25px;height:25px;flex-shrink:0}.sidebar nav a{gap:12px}.quick-icon{width:44px;height:44px;flex-shrink:0}.journal-banner .book{width:44px;height:44px}.hero{height:310px;background:#eee9e1}.hero-art{opacity:1;object-position:center 60%;left:25%;width:75%;filter:saturate(.8)}.hero:after{background:linear-gradient(90deg,#eee9e1 0%,#eee9e1 27%,#eee9e1ed 38%,#eee9e100 64%)}.hero-goblin{width:145px;right:13%;bottom:14px;image-rendering:pixelated;transform:none;filter:drop-shadow(4px 7px 0 #2c211830)}.hero-buddy{position:absolute;width:92px;right:3%;bottom:8px;z-index:3}.hero-caption{bottom:9px;right:20px;text-shadow:0 1px 5px #33251d;color:white}.region-thumb{background-image:url('images/world.webp');background-size:120px;background-position:60% 60%}.region-thumb.cave{background-image:url('images/world-middle.webp');background-position:50% 50%;background-color:#d8cdbd;filter:none}.character-heading{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:23px}.character-heading img{width:75px;height:75px;object-fit:contain;image-rendering:pixelated}.character-heading .form-title{margin:0}.compare-icon{display:block;width:54px;height:54px;margin:0 auto 10px}.side-note{background-image:radial-gradient(#b5a78d33 .6px,transparent .6px);background-size:5px 5px}.hero-copy{padding:36px 32px}.panel-head h2{font-weight:750}.hero .primary{box-shadow:0 3px 0 #7c3226}.hero .primary:active{transform:translateY(2px);box-shadow:0 1px 0 #7c3226}@media(max-width:700px){.hero{height:330px}.hero-art{left:0;width:100%;object-position:68% 60%}.hero:after{background:linear-gradient(100deg,#eee9e1 0%,#eee9e1eb 38%,#eee9e110 100%)}.hero-goblin{width:105px;right:5%;bottom:15px}.hero-buddy{width:63px;right:28%;bottom:0}.hero-copy{padding:25px 23px}.quick-icon{width:35px;height:35px}.hero-caption{display:none}}

.brand-character{width:44px;height:54px;object-fit:contain;image-rendering:pixelated}.official-icon{display:inline-block!important;width:32px!important;height:32px!important;flex:0 0 32px;background-image:url(images/skills.webp);background-size:791.333px 512px;background-repeat:no-repeat;background-position-y:-438.667px}.side-note img{object-fit:contain;image-rendering:pixelated}.hero-buddy{image-rendering:pixelated}.hint,.check-note,.panel-foot,.quick-row p{font-size:12px;color:#71665a}.field{font-size:14px}.compare-icon{margin:auto}.sidebar nav a{min-height:48px}.mobile-menu{min-width:44px;min-height:44px}.page-head p{font-size:14px}.brand small{letter-spacing:0}.skill-checks label{min-height:36px} .sprite-0{background-position-x:-145.33333333333334px} .sprite-1{background-position-x:-178.0px} .sprite-2{background-position-x:-210.66666666666666px} .sprite-3{background-position-x:-243.33333333333334px} .sprite-4{background-position-x:-276.0px} .sprite-5{background-position-x:-308.6666666666667px} .sprite-6{background-position-x:-341.3333333333333px} @media(max-width:700px){.date{display:none}.fields{grid-template-columns:1fr}.skill-checks{grid-template-columns:1fr 1fr}.hero-copy h2{font-size:24px}.topbar{position:sticky;top:0;z-index:25}.sidebar.open{top:60px}.page-head h1{font-size:26px}.journal-banner{flex-wrap:wrap}.journal-banner a{margin-left:0}.hero-buddy{right:33%}.result strong.big{font-size:25px}}
.ocr-review{display:grid;gap:10px;margin-top:16px}.ocr-review>label{display:grid;grid-template-columns:20px 1fr 100px;align-items:center;gap:9px;font-size:13px}.ocr-review input[type=checkbox]{min-height:20px;width:18px}.ocr-review small{display:block;font-size:11px}.dps-skill{border-top:1px solid var(--line);padding:16px 0}.dps-skill .panel-head{padding:0 0 15px}.dps-skill button{min-width:44px;min-height:44px}#ocr-progress,#dps-error{margin-top:15px;font-size:13px}.sidebar{overflow-y:auto}.side-note{margin-top:24px}.field input[readonly]{background:#ece6dd}[hidden]{display:none!important}.combat-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.combat-breakdown>div{padding:16px;background:var(--paper,#faf6ec);border-bottom:3px solid #a38d6c}.combat-breakdown span,.combat-breakdown strong{display:block}.combat-breakdown strong{font-size:22px;margin-top:8px}.combat-breakdown small{font-size:12px}#combat-skills small{font-size:12px;color:#74664f}.dps-skill select{width:100%}@media(max-width:600px){.combat-breakdown{grid-template-columns:1fr 1fr}}
#target-rows td:first-child,#hunt-rows td:first-child{white-space:normal;min-width:160px;max-width:240px;word-break:keep-all;overflow-wrap:break-word}#target-rows td:not(:first-child){white-space:nowrap}#hunt-detail{scroll-margin-top:24px}#hunt-item-view th{white-space:normal;word-break:keep-all}

/* Night palette: preserve the official artwork and warm notebook accents. */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:5px;color:var(--ink);white-space:nowrap;font-size:12px;background:var(--paper)}
.theme-toggle:hover{border-color:var(--accent)}
:root[data-theme="dark"]{--bg:#1d1b19;--paper:#262320;--ink:#eee8df;--muted:#b7ada2;--accent:#b44d39;--line:#494039;--yellow:#dec488;--red:#e3a28b}
[data-theme="dark"] .sidebar,[data-theme="dark"] .topbar{background:#25221f}
[data-theme="dark"] .nav-caption,[data-theme="dark"] .side-foot{color:var(--muted)}
[data-theme="dark"] .sidebar nav a.active{background:#3e2c25;color:#f2c1b0}
[data-theme="dark"] .sidebar nav a:hover,[data-theme="dark"] .quick-row a:hover{background:#332d28}
[data-theme="dark"] .side-note{background-color:#37302a;background-image:none}
[data-theme="dark"] .tape{background:#b29f8566}
[data-theme="dark"] .primary{background:#b44d39;color:#fff8f2}
[data-theme="dark"] .primary:hover{background:#c15a45}
[data-theme="dark"] .secondary,[data-theme="dark"] input,[data-theme="dark"] select,[data-theme="dark"] textarea{background:#211e1b;border-color:#615248;color:var(--ink)}
[data-theme="dark"] input::placeholder,[data-theme="dark"] textarea::placeholder{color:#b0a295}
[data-theme="dark"] .field input[readonly]{background:#332c27}
[data-theme="dark"] .hero{background:#282421;border-color:var(--line)}
[data-theme="dark"] .hero:after{background:linear-gradient(90deg,#282421 0%,#282421 27%,#282421ed 38%,#28242100 72%)}
[data-theme="dark"] .hero-copy p{color:#d0c3b5}
[data-theme="dark"] .hero-art{filter:saturate(.7) brightness(.75)}
[data-theme="dark"] .hint,[data-theme="dark"] .check-note,[data-theme="dark"] .panel-foot,[data-theme="dark"] .quick-row p,[data-theme="dark"] #combat-skills small{color:var(--muted)}
[data-theme="dark"] .mini-region,[data-theme="dark"] .patch-line,[data-theme="dark"] td{border-color:var(--line)}
[data-theme="dark"] .panel-foot,[data-theme="dark"] .compare-result{background:#302923}
[data-theme="dark"] .journal-banner{background:#302923;border-color:#76614f}
[data-theme="dark"] .note{background:#3a3025;border-color:#b18c54}
[data-theme="dark"] th{background:#362e27;color:#dbcec0}
[data-theme="dark"] .positive{color:#a6d5ad}
[data-theme="dark"] .result{background:#342b25;border-color:#735a47}
[data-theme="dark"] .result p{color:#d0c0af}
[data-theme="dark"] dialog{border-color:var(--line)}
[data-theme="dark"] dialog::backdrop{background:#110e0bb3}
[data-theme="dark"] .skip{background:var(--paper)}
@media(max-width:700px){.topbar .data-status{display:none}.theme-toggle{padding:8px 10px}[data-theme="dark"] .hero:after{background:linear-gradient(100deg,#282421 0%,#282421eb 38%,#28242166 100%)}}

/* Official brown glyphs need a light surface in both themes. */
.official-icon{background-color:#eee7dc;border-radius:4px;box-shadow:0 0 0 4px #eee7dc,0 0 0 5px #c1b2a0;margin:4px;image-rendering:auto}
[data-theme="dark"] .official-icon{background-color:#d8cebf;box-shadow:0 0 0 4px #d8cebf,0 0 0 5px #a79580}
.ocr-preview-wrap{position:relative;margin-top:14px;line-height:0}
.ocr-preview-wrap .screenshot{display:block;margin:0;max-height:none}
.ocr-crop-mark{position:absolute;border:2px solid #ffce66;background:#ffce6610;pointer-events:none;box-shadow:0 0 0 1px #25221f}
.ocr-controls{display:grid;gap:12px;margin-top:16px}.ocr-controls label{font-size:13px;display:grid;gap:4px}.ocr-controls input[type=range]{padding:0;min-height:44px;accent-color:var(--accent)}
.ocr-review>label{grid-template-columns:24px minmax(0,1fr) minmax(85px,110px)}
.ocr-review input[type=checkbox]{width:24px;height:24px}.ocr-review input[type=number]{min-width:0}
.form-layout>*{min-width:0}input[type=file]{max-width:100%;white-space:normal;font-size:13px}
@media(max-width:700px){input,select,textarea{font-size:16px}.form-layout:has(#profile-form)>aside{grid-row:1}.ocr-controls{grid-template-columns:1fr}.ocr-review>label{gap:8px}.skill-checks label{min-height:44px}.quick-row a{gap:16px}.sidebar nav a{gap:16px}.ocr-preview-wrap{max-width:100%}}

/* Official Dokkaebi site pairing: Hahmlet story typography + Pretendard UI. */
:root{--font-story:"Hahmlet","Batang",serif;--font-ui:Pretendard,"Malgun Gothic",sans-serif}
body{font-family:var(--font-ui);font-weight:400;letter-spacing:0}
.brand,h1,h2,h3,.hero-copy .eyebrow,.hero-copy p,.side-note p,.journal-banner h3,footer strong{font-family:var(--font-story);font-optical-sizing:auto;font-style:normal}
.brand{font-size:25px;font-weight:600;letter-spacing:-.5px;line-height:1.45}
.brand small{font-family:var(--font-ui);font-size:11px;font-weight:400;letter-spacing:0;margin-top:5px}
h1,.page-head h1{font-size:34px;font-weight:500;letter-spacing:-.6px;line-height:1.5}
h2{font-size:22px;font-weight:500;letter-spacing:-.3px;line-height:1.55}
h3{font-weight:500;letter-spacing:-.15px;line-height:1.6}
.hero-copy h2{font-size:29px;font-weight:500;letter-spacing:-.5px;line-height:1.6}
.hero-copy .eyebrow{font-size:12px;letter-spacing:0;font-weight:400}
.hero-copy p{font-size:14px;font-weight:400;line-height:1.85;letter-spacing:-.1px}
.panel-head h2{font-size:19px;font-weight:500}
.quick-row h3,.mini-region h3{font-size:14px;font-weight:500;line-height:1.65}
.sidebar nav a{font-weight:500;letter-spacing:0}.nav-caption,.page-label{letter-spacing:.4px;font-weight:400}
.primary,.secondary{font-weight:500;letter-spacing:0}.patch-line strong{font-weight:500}
.side-note p{font-size:13px;line-height:1.85}.side-note strong{font-weight:500}
.journal-banner h3{font-size:17px;font-weight:500}footer strong{font-weight:500}
input,select,textarea,table,.number,.result strong.big,.combat-breakdown strong{font-family:var(--font-ui);font-variant-numeric:tabular-nums lining-nums;letter-spacing:0}
.result strong.big,.compare-result .number,.combat-breakdown strong{font-weight:600}
@media(max-width:1100px){.brand{font-size:23px}}
@media(max-width:700px){.brand{font-size:24px}.page-head h1{font-size:27px;line-height:1.5;letter-spacing:-.4px}.hero-copy h2{font-size:24px;line-height:1.6;letter-spacing:-.3px}.hero-copy p{font-size:13px;line-height:1.8}.hero-copy .eyebrow{font-size:11px}.panel-head h2{font-size:18px}.quick-row h3{font-size:14px}.journal-banner h3{font-size:15px}}
@media(max-width:700px){.hero{height:auto;min-height:380px}.hero-copy{padding-bottom:115px}}

:root[data-theme="dark"]{--accent:#e2a18c}
.hero .eyebrow,.page-label{color:var(--muted)}
.sidebar nav a.active{box-shadow:inset 3px 0 0 var(--accent)}
[data-theme="dark"] .hero-art{filter:saturate(.65) brightness(.72)}
::selection{background:#b44d39;color:#fff8f2}

/* Notebook management keeps official type and paper palette. */
#backup-file{display:block;max-width:100%;margin-top:8px}#report-image{max-width:100%;margin:16px 0}.record{gap:16px;flex-wrap:wrap}.record>div{min-width:0;overflow-wrap:anywhere}#setup-result .big{font-size:clamp(24px,5vw,40px)}#report-review input[type=checkbox]{width:20px;height:20px;display:inline-block}#preset-name{max-width:100%}.sidebar{overflow-y:auto}
/* Illustrated owned-skill ledger */
.inventory-book{border-top:2px solid var(--ink);background:var(--paper);padding:24px 28px 14px}.inventory-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.inventory-eyebrow{font-size:12px;color:var(--muted);letter-spacing:.04em}.inventory-heading h2{margin:7px 0 22px;font-size:26px}.inventory-heading a,.inventory-save>a{font-size:12px;color:var(--muted);white-space:nowrap}.inventory-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}.inventory-tabs button{flex:none;border:0;border-radius:0;background:transparent;color:var(--muted);padding:12px 15px;border-bottom:2px solid transparent;font-size:13px;min-height:44px}.inventory-tabs button.selected{color:var(--ink);border-bottom-color:var(--accent);font-weight:700}.inventory-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 0 14px;font-size:12px;color:var(--muted)}.inventory-add{position:relative}.inventory-add summary{cursor:pointer;color:var(--ink);font-size:13px;list-style:none;min-height:32px;display:flex;align-items:center}.inventory-add>div{position:absolute;z-index:3;right:0;top:36px;width:280px;max-width:75vw;padding:14px;box-shadow:0 8px 28px #0003;background:var(--paper);border:1px solid var(--line);display:flex;gap:6px}.inventory-add select{min-width:0;font-size:13px}.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}.inventory-skill{min-width:0;border-top:1px solid var(--line);padding:17px 0 15px}.inventory-skill-top{display:flex;align-items:center;gap:12px}.inventory-art{width:56px;height:56px;flex:none;object-fit:contain;border-radius:6px;filter:drop-shadow(0 2px 2px #0003)}.inventory-name{min-width:0;flex:1}.inventory-name>span{font-size:11px;color:var(--muted)}.inventory-name h3{font-family:Pretendard,sans-serif;font-size:15px;font-weight:600;line-height:1.4;margin:4px 0 0;word-break:keep-all}.inventory-equip{display:flex;align-items:center;gap:5px;min-height:44px;font-size:12px;color:var(--muted);cursor:pointer;flex:none}.inventory-equip input{width:15px;height:15px;margin:0;accent-color:var(--accent)}.is-equipped .inventory-equip{color:var(--accent);font-weight:600}.inventory-auto{font-size:11px;color:var(--muted)}.inventory-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0 0 68px;gap:8px}.inventory-stats label{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);min-width:0}.inventory-stats input{width:100%;min-width:0;max-width:64px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:6px 2px;background:transparent;color:var(--ink);font-size:14px;font-variant-numeric:tabular-nums;text-align:center;min-height:34px}.inventory-stats input::placeholder{font-size:10px;color:var(--muted)}.inventory-stats input:focus{outline:2px solid var(--accent);outline-offset:2px}.inventory-na{padding:7px 12px}.inventory-save{border-top:1px solid var(--line);margin-top:14px;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.inventory-save>div{display:flex;gap:8px;flex-wrap:wrap}.inventory-save button{font-size:13px;padding:11px 16px;border-radius:4px}.inventory-footnote{font-size:11px;line-height:1.7;color:var(--muted);margin-top:12px}.inventory-book #owned-status{font-size:13px;line-height:1.7;color:var(--accent)}.inventory-import{margin-top:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.inventory-import summary{cursor:pointer}.inventory-import textarea{margin:12px 0}.inventory-empty{grid-column:1/-1;padding:36px 10px;text-align:center;color:var(--muted);font-size:14px;line-height:1.8}
@media(min-width:1400px){.inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.inventory-grid{grid-template-columns:1fr}.inventory-stats{max-width:300px}.inventory-book{padding:20px}.inventory-save{align-items:flex-start;flex-direction:column}}
@media(max-width:420px){.inventory-book{padding:16px 12px}.inventory-heading h2{font-size:23px}.inventory-art{width:50px;height:50px}.inventory-stats{margin-left:62px;gap:5px}.inventory-name h3{font-size:14px}.inventory-save button{padding:11px 12px}}

/* Quiet, editable stage readouts; no native number-field decoration. */
.inventory-stats{margin:16px 0 0 68px;gap:0;max-width:300px;border:1px solid var(--line);border-radius:5px;background:color-mix(in srgb,var(--bg) 65%,var(--paper));overflow:hidden}
.inventory-stats .inventory-stage{display:flex;flex-direction:column;justify-content:center;gap:0;position:relative;padding:8px 2px 3px;min-height:72px;cursor:text;transition:background .15s}
.inventory-stage+.inventory-stage{border-left:1px solid var(--line)}
.inventory-stats .inventory-stage>span:first-child{font-size:10px;line-height:1.3;letter-spacing:.06em;color:var(--muted)}
.inventory-stats .inventory-stage input{appearance:textfield;-moz-appearance:textfield;max-width:none;width:100%;height:44px;min-height:44px;border:0;border-radius:0;padding:0 4px;background:transparent;box-shadow:none;color:var(--ink);font-size:22px;font-weight:600;line-height:1.1;outline:none;cursor:text}
.inventory-stage input::-webkit-inner-spin-button,.inventory-stage input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.inventory-stats .inventory-stage input::placeholder{font-size:12px;font-weight:400;color:var(--muted)}
.inventory-stats .inventory-stage:hover,.inventory-stats .inventory-stage:focus-within{background:color-mix(in srgb,var(--accent) 9%,var(--paper))}
.inventory-stats .inventory-stage:focus-within{box-shadow:inset 0 -2px var(--accent)}
.inventory-stats .inventory-stage:focus-within>span:first-child{color:var(--accent)}
.inventory-stats .inventory-stage input:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:3px}
.inventory-stats .inventory-na{height:44px;display:flex;align-items:center;padding:0;color:var(--muted);font-size:20px}
.sidebar nav a>.menu-art{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:5px;background:color-mix(in srgb,currentColor 8%,transparent)}
.menu-art svg{display:block;width:25px;height:25px}.menu-art .wash{fill:currentColor;fill-opacity:.18;stroke:none}
.menu-art.tone-ochre{color:#9b702a}.menu-art.tone-blue{color:#507f96}.menu-art.tone-coral{color:#ad6654}.menu-art.tone-violet{color:#85729e}
[data-theme="dark"] .menu-art.tone-ochre{color:#d7b26f}[data-theme="dark"] .menu-art.tone-blue{color:#8fb9cc}[data-theme="dark"] .menu-art.tone-coral{color:#dc9b85}[data-theme="dark"] .menu-art.tone-violet{color:#b9a2d3}
.sidebar nav a{gap:12px}.sidebar nav a.active .menu-art{background:color-mix(in srgb,currentColor 13%,transparent)}
@media(max-width:420px){.inventory-stats{margin-left:62px}.inventory-stats .inventory-stage input{font-size:20px}.inventory-stats .inventory-stage{min-height:68px;padding-top:7px}}

/* One centered application frame on standard and ultra-wide displays. */
:root{--app-width:1480px;--nav-width:235px}
body{width:100%;max-width:var(--app-width);margin-inline:auto;position:relative}
.sidebar{left:max(0px,calc((100% - var(--app-width))/2));right:auto;width:var(--nav-width)}
.shell{margin-left:var(--nav-width);width:calc(100% - var(--nav-width));min-width:0}
.shell>main,.shell>footer{width:100%;max-width:none;margin-inline:0}
.topbar{width:100%;min-width:0}.page-head>div{min-width:0}
.quick-row a{min-width:0;border-bottom:1px solid var(--line)}.quick-row a:nth-child(3n){border-right:0}.quick-row a:nth-last-child(-n+3){border-bottom:0}.quick-row .arrow{margin-left:auto}
.home-feature-icon{flex:0 0 32px;width:32px;height:32px}.home-feature-icon .menu-art{display:grid;place-items:center;width:32px;height:32px;border-radius:5px;background:color-mix(in srgb,currentColor 8%,transparent)}
@media(max-width:1100px){:root{--nav-width:205px}.quick-row{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-row a{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.quick-row a:nth-child(3n){border-right:1px solid var(--line)}.quick-row a:nth-child(2n){border-right:0}.quick-row a:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.quick-row a:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:700px){body{max-width:none}.sidebar{left:0;width:235px}.shell{margin-left:0;width:100%}.shell>main{padding-inline:18px}.quick-row{grid-template-columns:1fr}.quick-row a:nth-child(n){border-right:0;border-bottom:1px solid var(--line)}.quick-row a:last-child{border-bottom:0}.hero-copy{max-width:100%}.hero-copy p{max-width:260px}.hero{min-height:330px;height:auto}.hero-copy{padding-bottom:96px}.page-head h1{font-size:26px;word-break:keep-all}.sidebar.open{max-height:calc(100dvh - 60px)}}

/* Pixel training replay, scoped to the combat lab. */
.dummy-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.dummy-heading>strong{font-size:24px;color:var(--accent)}.dummy-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0;border-block:1px solid var(--line)}.dummy-stats>div{padding:14px 12px;border-right:1px solid var(--line)}.dummy-stats>div:last-child{border:0}.dummy-stats span{display:block;font-size:12px;color:var(--muted)}.dummy-stats strong{font-size:23px;font-variant-numeric:tabular-nums}.dummy-stage{background:#202d38;position:relative;border:1px solid #56616a;overflow:hidden}.dummy-stage canvas{display:block;width:100%;max-width:800px;height:auto;margin:auto;image-rendering:pixelated}.dummy-cast{position:absolute;left:12px;top:8px;right:12px;text-align:center;font-size:13px;color:#f9efce;text-shadow:0 2px #202d38}.dummy-controls{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}.dummy-controls output{margin-left:auto;font-variant-numeric:tabular-nums;font-size:14px}#dummy-measure input[type=range]{padding:0;accent-color:var(--accent);border:0}#dummy-measure details{margin-top:12px;font-size:13px}#dummy-measure summary{cursor:pointer;min-height:36px}#dummy-measure{scroll-margin-top:80px}@media(max-width:600px){.dummy-stats>div{padding:12px 5px}.dummy-stats strong{font-size:17px}.dummy-stats span{font-size:11px}.dummy-controls button{padding:9px 12px}.dummy-controls output{font-size:12px}.dummy-cast{font-size:11px}}

/* Native game artwork replaces the original procedural pixel figures. */
.dummy-stage{border-color:#6b6254;background:#292d28}.dummy-stage canvas{max-width:none;image-rendering:auto}.dummy-cast{top:16px;font-size:15px;font-weight:650;text-shadow:0 2px 3px #17231f}.dummy-art-credit{font-size:11px;color:var(--muted);padding-top:8px;line-height:1.6}.dummy-stats strong{letter-spacing:-.4px}@media(max-width:600px){.dummy-stage canvas{width:150%;max-width:none;margin-left:-25%}.dummy-cast{font-size:12px;top:10px}.dummy-art-credit{font-size:10px}}
