:root{--ink-soft:#6c5a42;--inksoft:#6c5a42;--line:#8f7757;--bronze-dark:#6b4c29;--bronzedark:#6b4c29;--edge:rgba(93,68,39,.34);--fire:#b44a2d;--water:#356693;--wood:#4f7041;--light:#b08633;--dark:#5f5278}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #78552d;outline-offset:2px}a{color:#694621}button:disabled{opacity:.5;cursor:default}.loading{padding:24px}h1{margin:0}.titlebar{display:flex;align-items:center;justify-content:space-between;gap:8px}.top-link{color:#f1e3c4;background:transparent;border:1px solid #c4a87c;border-radius:9px;min-height:40px;padding:6px 10px;font-size:12px}.titlebar .title{font-size:24px}.search-row input{width:100%;min-height:44px}.chip,select,.count,.small-btn{min-height:44px}.row,.thead{grid-template-columns:40px minmax(0,1fr) 39px 34px 34px 34px;gap:4px}.table-wrap{padding:10px 7px}.row,.thead{padding-left:5px;padding-right:5px}.thead{letter-spacing:0}.thead>div:last-child,.thead>div:nth-last-child(2),.thead>div:nth-last-child(3){white-space:nowrap;font-size:10px}.icon{width:40px;height:40px}.icon::after,.portrait::after{display:none}.icon,.portrait{display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:8px;line-height:1.4;color:var(--ink);background:#ebe1ca!important;text-align:center}.portrait{font-size:11px}.icon img,.portrait img{width:100%;height:100%;object-fit:cover}.image-link{padding:0;border-width:3px}.name-link{border:0;background:none;text-align:left;padding:0;min-height:44px;max-width:100%;width:100%;display:block}.name{font-size:13px;white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.sub{gap:3px;font-size:10px}.pill{padding:2px 5px}.score .value{font-size:18px}.score .label{font-size:9px}.count{font-size:16px;font-weight:700;padding:0}.result-note{font-size:11px;color:var(--ink-soft);padding:8px 12px 0}.note{line-height:1.7}.footer-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between}.ghost-btn,.action-btn,.small-btn{border:1px solid var(--line);border-radius:10px;background:rgba(255,248,233,.55);min-height:44px;padding:9px 11px;font-size:12px}.action-btn,.small-btn{background:linear-gradient(180deg,#f0e3c5,#dfc69a)}.action-btn{font-weight:700}.hero-name{font-size:22px;overflow-wrap:anywhere}.hero-rate{max-width:65px}.hero{gap:9px}.hero .portrait{width:60px;height:60px}.hero-info .muted{margin-top:6px}.source-info{padding:0 14px 10px;font-size:11px;overflow-wrap:anywhere}.source-info summary{cursor:pointer;min-height:36px;display:flex;align-items:center}.account-tab{cursor:pointer}.unit-state{max-width:68px;overflow:hidden;text-overflow:ellipsis}.unit-actions{flex-wrap:wrap}.unit-actions .primary{min-width:100px}.unit-body .cancel-edit{background:none;border:1px solid var(--line);padding:10px;border-radius:10px;font-size:12px}.readonly-state{padding:10px;background:rgba(255,252,245,.5);border:1px solid var(--edge);border-radius:9px;font-size:12px;min-height:44px}.field select{width:100%}.fruit-row{grid-template-columns:18px minmax(0,1fr) 82px;gap:5px}.fruit-row select{width:100%}.backup-note{margin:13px 0;padding:10px;border-left:3px solid var(--bronze);font-size:12px;background:rgba(255,248,233,.35)}.dirty-mark{font-size:10px;color:#8a4f22}.error{padding:10px;background:#f2dcc9;border:1px solid #a06037;color:#633616;border-radius:8px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.form-error:empty{display:none}.data-panel{padding:16px}.data-panel h2{font-size:20px}.data-panel p{font-size:13px;line-height:1.8}.data-panel section{border-bottom:1px solid var(--edge);padding:10px 0 18px}.data-panel input[type=file]{width:100%;font-size:12px}.data-panel .btn-row{display:flex;flex-wrap:wrap;gap:8px}.record{border:1px solid var(--edge);border-radius:10px;padding:10px;margin:8px 0;font-size:12px;overflow-wrap:anywhere}.record p{margin:4px 0}.save,.primary{background:linear-gradient(180deg,#8f6a3f,#745330);color:#f4e4c1;border:1px solid #694b2b;border-radius:10px;padding:11px 14px;min-height:44px;font-weight:700}.clear,.cancel{background:rgba(255,248,233,.55);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px 14px;min-height:44px}dialog{color:var(--ink);background:linear-gradient(180deg,var(--paper),var(--paper2));border:2px solid var(--bronze-dark);border-radius:18px 18px 0 0;padding:18px 14px;width:100%;max-width:560px;max-height:88dvh;margin:auto auto 0;overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{background:rgba(29,18,8,.48)}dialog h2{font-size:22px;margin:0 0 8px}dialog .target{font-size:13px;overflow-wrap:anywhere}.modal-actions{display:flex;gap:8px;margin-top:15px}.modal-actions button{flex:1;padding:10px 5px;font-size:13px}.stepper{display:flex;justify-content:center;align-items:center;gap:10px;margin:15px 0}.stepper button{width:44px;height:44px;font-size:22px;border:1px solid var(--line);border-radius:10px;background:#f1e5cc}.stepper input{width:92px;min-height:44px;text-align:center;font-size:23px;border:1px solid var(--line);border-radius:10px;background:#f7edd7}.delete-choice{display:flex;gap:10px;align-items:flex-start;min-height:44px;border:1px solid var(--edge);padding:10px;border-radius:10px;margin:8px 0;background:#eee1c6;font-size:12px}.delete-choice input{width:20px;height:20px;flex:none}.delete-choice small{display:block;margin-top:4px;line-height:1.6}#message{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);max-width:92vw;background:#4f3825;color:#f5e8cb;padding:10px 16px;border-radius:10px;font-size:13px;z-index:20;pointer-events:none;display:none}.draft-banner{padding:8px 12px;background:#eee0bf;font-size:12px}.source-list{margin:5px 0;padding-left:16px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}body{padding-bottom:env(safe-area-inset-bottom)}
@media(min-width:720px){.row,.thead{grid-template-columns:52px minmax(0,1fr) 72px 54px 54px 54px;gap:10px;padding-left:8px;padding-right:8px}.icon{width:52px;height:52px;font-size:10px}.table-wrap{padding:14px}.name{font-size:15px}.score .value{font-size:22px}.thead>div{font-size:11px!important}.hero-name{font-size:25px}.hero .portrait{width:70px;height:70px}.fruit-row{grid-template-columns:28px 1fr 140px}.data-panel{padding:22px}dialog{margin:auto;border-radius:18px}}
.name-link,.row>a{text-decoration:none;color:var(--ink);font-weight:700}
