:root{--bg:#f6f3eb;--paper:#fffefa;--ink:#253d34;--muted:#798279;--line:#dedfd4;--green:#204d3d;--light:#edf0e7;--orange:#ae6436;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a,input,label,canvas{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.topbar{height:100px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:30px;line-height:1.05;font-weight:bold;letter-spacing:-1px}.mark{font-size:44px}.brand-sub{display:block;font:9px/1.4 sans-serif;letter-spacing:2.6px;margin-top:7px}.top-right{display:flex;align-items:center;gap:22px}.badge{font-size:9px;letter-spacing:1.6px;padding:7px 11px;border:1px solid #bac9b8;border-radius:20px}.online{font-size:12px;color:var(--muted)}.online:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#659776;margin-right:7px}main{max-width:1320px;margin:auto;padding:0 42px}.intro{display:flex;align-items:center;justify-content:space-between;padding:62px 0 50px}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:600;color:#7c8c76}.intro h1{font:normal clamp(43px,5vw,68px)/1.06 var(--serif);letter-spacing:-2px;margin:16px 0 22px}.intro h1 em{color:#718369;font-weight:normal}.intro p{color:var(--muted);font-size:15px;line-height:1.8}.intro-note{border-left:1px solid #cbd1c2;padding:0 12px 0 42px;width:310px;position:relative}.intro-note strong{font:normal 25px/1.3 var(--serif)}.note-icon{position:absolute;right:30px;top:0;font-size:26px;color:#91a089}.intro-note p{font-size:12px;line-height:1.8;margin-top:15px}.intro-note small{font-size:11px;color:#8d9287}.fine-rule{display:block;width:30px;border-top:1px solid #b5c0aa;margin:18px 0}.steps{display:flex;gap:45px;margin-bottom:24px;border-bottom:1px solid var(--line)}.step{padding:16px 0;color:#9ba194;font-size:13px;position:relative}.step b{font-size:11px;font-weight:500;margin-right:9px;color:#9ca68e}.step.active{color:var(--ink)}.step.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;border-bottom:2px solid var(--green)}.panel{background:var(--paper);border:1px solid var(--line);border-radius:5px}.upload-section{padding:20px 24px 0}.dropzone{border:1px dashed #bdc7b7;border-radius:3px;padding:52px 20px 40px;text-align:center;transition:.2s;background:linear-gradient(135deg,#f8f9f2 0%,#fffefa 70%)}.dropzone.dragover{background:#e4eddc;border-color:var(--green)}.upload-icon{font-size:36px;color:#708367;line-height:1}.dropzone h2{font:normal 30px var(--serif);margin:20px 0 8px}.dropzone p{font-size:13px;color:var(--muted);margin:0 0 24px}.dropzone small{display:block;font-size:10px;letter-spacing:.4px;color:#92978a;margin-top:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid transparent;border-radius:3px;padding:12px 22px;font-size:13px;font-weight:500;line-height:1.5;transition:background .15s,transform .15s;text-align:center}.button:hover:not(:disabled){transform:translateY(-1px)}.primary{background:var(--green);color:#fffefa}.primary:hover{background:#153d2e}.secondary{border-color:#c9d1be;background:#f3f5ec;color:var(--ink)}.subtle{background:transparent;color:#7d8c74;padding:7px 10px;font-size:12px;border-color:#e3e5dc}.small{padding:5px 10px;font-size:11px}.full{width:100%}.upload-bottom{display:flex;align-items:center;justify-content:space-between;padding:17px 0;color:#8a9385;font-size:11px}.inline{display:flex;align-items:center;gap:10px}.inline input{width:70px;padding:5px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid var(--line)}h2{font:normal 26px/1.3 var(--serif);letter-spacing:-.4px;margin:7px 0 0}.panel-head h2{font-size:21px;word-break:break-word}.canvas-scroll{overflow:auto;max-height:760px;background:#e7e8e0;padding:16px;overscroll-behavior:contain}canvas{display:block;max-width:none;touch-action:none;cursor:crosshair;box-shadow:0 3px 12px #13271720}.canvas-footer{display:flex;justify-content:space-between;align-items:center;padding:13px 17px;font-size:11px;color:#7b8b73;gap:8px}.canvas-footer>div{display:flex;gap:7px;align-items:center}.icon-btn{width:25px;height:25px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--green)}.config-panel{padding:26px 22px}.config-panel h2{font-size:26px;margin:10px 0 14px}.config-panel p{font-size:12px;color:#7c8677}.corner-guide{display:grid;grid-template-columns:1fr 1fr;gap:20px 8px;border:1px dashed #bcc8b2;padding:16px;margin-top:22px;border-radius:3px;font-size:11px;color:#64795e}.corner-guide span:nth-child(even){text-align:right}.muted{color:var(--muted)}.small-text{font-size:11px!important}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}label{display:block;color:#7b8875;font-size:11px}input:not([type=checkbox]),textarea,select{display:block;width:100%;margin-top:6px;background:#fffefa;color:var(--ink);border:1px solid #d8dece;border-radius:3px;padding:10px 12px;font-size:13px;min-width:0}textarea{resize:vertical;font-family:monospace}input:focus,textarea:focus,select:focus{outline:2px solid #9aae8622;border-color:#80936c}.block-list{margin-top:12px}.block-item{display:flex;justify-content:space-between;align-items:center;padding:10px;border:1px solid #d8e1ce;background:#f1f5e9;font-size:11px;margin-bottom:7px;border-radius:3px}.block-item button{background:none;border:0;color:#8c5e44;font-size:18px;line-height:1}.config-panel details{font-size:11px;color:#8a957e;margin:18px 0}.config-panel summary{cursor:pointer}.privacy-small{font-size:10px!important;line-height:1.7;margin:13px 0 0;color:#9ba18f!important}.results{margin-top:28px}.review-notice{background:#f8f1df;display:flex;gap:14px;padding:17px 24px;border-bottom:1px solid #e7dec6}.review-notice>span{width:24px;height:24px;border:1px solid #b29b69;border-radius:50%;text-align:center;line-height:23px;color:#9c7849;flex-shrink:0;margin-top:2px}.review-notice strong{font-size:12px;color:#8b6e3c}.review-notice p{font-size:11px;color:#99855e;margin:3px 0 0}.result-stat{font-size:11px;color:#72846c;white-space:nowrap}.result-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px}.result-actions p{font-size:11px;color:#8b937e}.result-actions .button{font-size:11px}.moves-scroll{max-height:490px;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.moves-table{width:100%;border-collapse:collapse;text-align:left}.moves-table thead{position:sticky;top:0;z-index:1}.moves-table th{padding:11px 18px;background:#f1f3e9;font-size:9px;letter-spacing:1px;color:#839178;font-weight:500}.moves-table td{padding:9px 16px;border-top:1px solid #eceee4;vertical-align:middle}.moves-table td:first-child{font:14px var(--serif);color:#9aa38d;width:50px}.cell-paper{display:flex;align-items:center;gap:8px}.cell-paper img{width:95px;height:39px;object-fit:contain;background:#eeeee8;border-radius:2px}.cell-paper span{font:12px monospace;color:#89967f;max-width:70px;overflow-wrap:anywhere}.move-input{width:90px!important;font:15px var(--serif)!important;margin:0!important;padding:7px 10px!important}.move-input.disagrees{border-color:#d4ac7f;background:#fff7e8}.move-input.changed{border-color:#72956a;background:#edf5e8}.move-input.missing{border-style:dashed}.export-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:30px 28px}.check{display:flex;align-items:center;gap:9px;margin:20px 0;font-size:11px}.check input{accent-color:var(--green)}.export-actions{display:flex;gap:10px;flex-wrap:wrap}.pgn-panel{background:#f3f5ed;border:1px solid #e2e6d8;border-radius:3px;padding:20px}.pgn-panel pre{font:12px/1.9 monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto;color:#5b7254;min-height:100px}.how{display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px;margin:48px 0 55px}.how>div{border-top:1px solid var(--line);padding-top:20px}.how span{font:italic 21px var(--serif);color:#b4bea6}.how h3{font:normal 19px var(--serif);margin:12px 0 7px}.how p{font-size:12px;color:#8b9480;line-height:1.8;max-width:270px}footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:25px 0;border-top:1px solid var(--line);color:#9aa38b;font-size:10px}.footer-brand{font:bold 23px var(--serif);color:#8c9d7d}.busy-overlay{position:fixed;inset:0;z-index:10;background:#f6f3ebdf;backdrop-filter:blur(4px);display:grid;place-items:center}.busy-box{text-align:center;padding:30px}.busy-box p{font-size:12px;color:var(--muted)}.spinner{display:inline-block;width:38px;height:38px;border:2px solid #dbe2d3;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#message{padding:13px 18px;margin-bottom:20px;background:#f5e7db;border:1px solid #d8b499;border-radius:3px;color:#955c38;font-size:13px;white-space:pre-wrap}#message.success{background:#eaf1e2;border-color:#bdceb0;color:#526e43}@media(max-width:950px){main{padding:0 24px}.workspace{grid-template-columns:minmax(0,1fr) 270px}.config-panel{padding:20px 18px}.intro-note{width:260px;padding-left:25px}.canvas-scroll{max-height:600px}.cell-paper span{display:none}.moves-table td,.moves-table th{padding:8px 10px}.export-layout{gap:22px}}@media(max-width:700px){.topbar{height:78px;padding:0 20px}.brand{font-size:25px}.mark{font-size:36px}.brand-sub{font-size:7px}.online{display:none}.badge{font-size:8px;letter-spacing:1px;padding:6px 8px}main{padding:0 17px}.intro{padding:38px 0 27px}.intro h1{font-size:48px;letter-spacing:-1.8px}.intro p{font-size:12px}.intro-note{display:none}.steps{gap:0;justify-content:space-between;margin-bottom:18px}.step{font-size:10px;padding:14px 0}.step b{font-size:9px;margin-right:5px}.upload-section{padding:12px 12px 0}.dropzone{padding:34px 14px}.dropzone h2{font-size:26px}.dropzone p{font-size:11px}.upload-bottom{font-size:9px;gap:10px}.workspace{grid-template-columns:1fr;gap:17px}.canvas-scroll{max-height:560px;padding:10px}.canvas-footer{flex-wrap:wrap;gap:8px}.config-panel{padding:22px}.corner-guide{max-width:260px;gap:13px}.config-panel .field-row{max-width:300px}.panel-head{padding:18px}.panel-head h2{font-size:19px}.result-stat{white-space:normal;font-size:10px;max-width:115px}.result-actions{padding:14px 18px;flex-direction:column;align-items:start;gap:5px}.moves-table{min-width:530px}.moves-table td,.moves-table th{padding:8px}.cell-paper img{width:80px;height:35px}.export-layout{grid-template-columns:1fr;padding:22px 18px}.how{gap:22px;grid-template-columns:1fr;margin:32px 0}.how>div{padding-top:12px}.how h3{display:inline;margin-left:15px}.how p{max-width:none;margin-left:40px;font-size:11px}footer{flex-wrap:wrap;font-size:9px}footer span:last-child{display:none}}

.notation-label{display:flex;align-items:center;gap:12px;font-size:11px}.notation-label select{width:auto;margin:0;font-size:12px;padding:6px 10px}.block-item>div{display:flex;align-items:center;gap:9px}.block-item .edit-block{font-size:10px;color:#56784a}.config-panel #redetectBtn{margin:6px 0 4px}.config-panel #sheetPicker{margin:12px 0}.config-panel #manualControls{padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
