.board{background:var(--card);border:1px solid #e6ebe7;border-radius:17px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;min-height:660px}.board.is-over{border-color:var(--green);box-shadow:0 0 0 2px rgba(3,199,90,.2),var(--shadow)}.board-head{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;padding:13px 15px 11px;border-bottom:1px solid #eef2ef}.head-main{flex:1;min-width:170px}.head-line{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.head-sub{margin:4px 0 0;font-size:11.5px;color:var(--muted);font-weight:700;line-height:1.65}.head-sub b{color:#0b6f39}.board-title{margin:0;font-size:16px;font-weight:900;letter-spacing:-.6px}.board-count{font-size:12px;color:var(--muted);font-weight:800;font-variant-numeric:tabular-nums}[hidden]{display:none !important}.page-hint{display:none;text-align:center;color:var(--muted);font-size:12.5px;font-weight:700;line-height:1.85;padding:34px 12px}.page-hint strong{color:#0b6f39}.addbar{margin:11px 15px 0;border:2px dashed #8dddaf;border-radius:12px;background:#f8fffb;color:#0b6f39;font-weight:800;font-size:12.5px;padding:11px;cursor:pointer;text-align:center;transition:background-color .16s,border-color .16s}.addbar:hover{background:var(--green-soft);border-color:var(--green)}.addbar small{display:block;color:#4c8a68;font-weight:700;font-size:11px;margin-top:2px}.toolbar{display:flex;position:sticky;top:0;z-index:12;align-items:center;gap:5px;flex-wrap:wrap;margin:0 0 11px;padding:6px 8px;border-radius:10px;background:linear-gradient(180deg,#fafbfb 0%,#f0f2f2 100%);border:1px solid #e0e4e2;box-shadow:inset 0 1px 0 #fff}.tb-count{font-size:11px;font-weight:800;color:#8b959c;font-variant-numeric:tabular-nums;padding:0 3px 0 2px;letter-spacing:-.2px}.tb-count.on{color:#3b4650}.tb-div{width:1px;height:15px;background:#dee3e1;margin:0 1px}.tb-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid #dae0dd;border-radius:7px;background:linear-gradient(180deg,#ffffff 0%,#f6f8f7 100%);color:#4b5660;font-weight:800;font-size:11px;padding:5px 8px;cursor:pointer;box-shadow:0 1px 1.5px rgba(23,32,51,.06);transition:transform .14s ease,border-color .16s,color .16s,background-color .16s,box-shadow .16s}.tb-btn svg{width:11px;height:11px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tb-btn:hover:not(:disabled){border-color:#b6c0ba;color:#1f2830;transform:translateY(-1px);box-shadow:0 5px 11px rgba(23,32,51,.11)}.tb-btn:active:not(:disabled){transform:translateY(0);background:#eef1f0;box-shadow:inset 0 1px 2px rgba(23,32,51,.1)}.tb-btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;background:#f3f5f4}.tb-btn.danger:hover:not(:disabled){border-color:#e3b2ab;color:#a93226;background:linear-gradient(180deg,#fff 0%,#fdf5f4 100%)}.grid-wrap{position:relative;flex:1;overflow:auto;padding:14px 15px;min-height:220px}.band{position:absolute;border:1.5px solid var(--green);background:rgba(3,199,90,.10);border-radius:5px;pointer-events:none;z-index:20}.grid{display:grid;gap:13px;align-content:start;min-height:120px}#gridDoc{grid-template-columns:repeat(auto-fill,minmax(122px,1fr))}.pg{position:relative;background:#fff;border:1px solid #e6ebe7;border-radius:11px;padding:6px 6px 4px;box-shadow:0 3px 8px rgba(23,32,51,.05);cursor:grab;user-select:none;touch-action:none;transition:transform .16s,box-shadow .16s,border-color .16s}.pg:hover{border-color:#b6ddc4;box-shadow:0 8px 15px rgba(23,32,51,.09);transform:translateY(-2px)}.pg:active{cursor:grabbing}.pg.is-sel{border-color:var(--green);box-shadow:0 0 0 2px rgba(3,199,90,.32),0 7px 14px rgba(3,199,90,.12)}.pg.is-dragging{display:none}.pg-thumb{position:relative;aspect-ratio:210/297;overflow:hidden;background:#fff;border-left:3px solid var(--src);border-radius:3px;display:grid;place-items:center}.pg img,.pg svg{-webkit-user-drag:none;user-select:none}.pg{contain:layout style}.pg-thumb svg,.pg-thumb img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;transition:transform .2s}.rot-90{transform:rotate(90deg) scale(.707)}.rot-180{transform:rotate(180deg)}.rot-270{transform:rotate(270deg) scale(.707)}.pg-x,.pg-rot{position:absolute;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-weight:900;line-height:1;opacity:0;transition:opacity .14s,transform .14s;z-index:3}.pg-x{top:9px;right:9px;border:1px solid #f0c4c0;background:rgba(255,255,255,.95);color:#c0392b;font-size:14px;box-shadow:0 2px 6px rgba(23,32,51,.16)}.pg-x:hover{background:#c0392b;color:#fff;border-color:#c0392b;transform:scale(1.08)}.pg-rot{right:4px;bottom:4px;border:1px solid #cfe6d8;background:rgba(255,255,255,.94);color:#0b6f39;font-size:12px}.pg-rot:hover{background:var(--green);color:#fff;border-color:var(--green)}.pg:hover .pg-x,.pg:hover .pg-rot,.pg:focus-within .pg-x{opacity:1}@media (hover:none){.pg-x,.pg-rot{opacity:1}}.pg-foot{display:flex;align-items:center;gap:5px;padding:5px 2px 0;min-width:0}.pg-no{background:#eef2ef;color:#3d4a5c;border-radius:5px;font-size:10.5px;font-weight:900;padding:1px 5px;flex:none;font-variant-numeric:tabular-nums}.pg.is-sel .pg-no{background:var(--green);color:#fff}.pg-src{font-size:10.5px;color:var(--muted);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.3px}.pg-dot{width:6px;height:6px;border-radius:50%;background:var(--src);flex:none}.thumb-wait{opacity:.5;animation:blink 1.1s ease-in-out infinite}@keyframes blink{0%,100%{opacity:.35}50%{opacity:.65}}.pg.slot{border:2px dashed var(--green);background:var(--green-soft);box-shadow:none;display:flex;align-items:center;justify-content:center;min-height:140px;cursor:default}.pg.slot span{font-size:11.5px;font-weight:900;color:#0b6f39;text-align:center;line-height:1.5}.ghost{position:fixed;left:0;top:0;z-index:80;width:124px;pointer-events:none;opacity:.96;will-change:transform;filter:drop-shadow(0 16px 26px rgba(23,32,51,.28))}.ghost .pg{transform:none;border-color:var(--green)}.ghost-badge{position:absolute;top:-10px;left:-8px;background:var(--green);color:#fff;font-size:11px;font-weight:900;border-radius:6px;padding:2px 6px}body.dragging{cursor:grabbing}.actionbar{border-top:1px solid #eef2ef;background:#fbfdfc;padding:12px 15px;display:flex;align-items:center;gap:13px;flex-wrap:wrap}.seg{display:flex;border:1px solid #d7e4da;border-radius:11px;overflow:hidden;background:#fff}.seg button{border:0;background:#fff;color:#5c6677;font-weight:800;font-size:12.5px;padding:10px 15px;cursor:pointer;transition:background-color .16s,color .16s}.seg button+button{border-left:1px solid #e6ebe7}.seg button.on{background:var(--green-soft);color:#0b6f39;box-shadow:inset 0 -2px 0 var(--green)}.act-info{font-size:11.5px;color:var(--muted);font-weight:700;line-height:1.6;max-width:430px}.act-info b{color:var(--ink)}.act-right{margin-left:auto;display:flex;align-items:center;gap:11px}.big-btn{border:0;background:var(--green);color:#fff;font-weight:900;font-size:14px;border-radius:11px;padding:12px 22px;cursor:pointer;box-shadow:0 8px 16px rgba(3,199,90,.22);transition:background-color .16s,transform .16s}.big-btn:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px)}.big-btn:disabled{background:#b9d6c5;box-shadow:none;cursor:not-allowed}.result{display:none;align-items:center;gap:8px;background:#fff;border:1px solid #a8dfbd;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:800;color:#0b6f39;max-width:340px}.result.show{display:flex}.result small{color:var(--muted);font-weight:700}.prog{display:none;padding:0 15px 12px}.prog.show{display:block}.prog-head{display:flex;justify-content:space-between;font-size:12px;font-weight:800;margin-bottom:6px;color:#3d4a5c;font-variant-numeric:tabular-nums}.prog-track{height:9px;border-radius:99px;background:#dff2e7;overflow:hidden}.prog-bar{height:100%;width:0;background:var(--green);transition:width .2s ease}.modal{position:fixed;inset:0;z-index:120;background:rgba(23,32,51,.42);display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{background:#fff;border-radius:16px;padding:24px 24px 20px;max-width:420px;width:100%;box-shadow:0 24px 60px rgba(23,32,51,.3);text-align:center}.modal-title{margin:0 0 10px;font-size:16px;font-weight:900;letter-spacing:-.5px}.modal-msg{margin:0 0 18px;font-size:13.5px;font-weight:700;color:#41506b;line-height:1.75}.modal-warn{display:block;margin-top:8px;font-size:12.5px;font-weight:800;color:var(--danger)}.modal-sub{display:block;margin-top:8px;font-size:12px;color:var(--muted);font-weight:700;word-break:break-all}@media (max-width:900px){.board{min-height:auto}.act-right{margin-left:0;width:100%}.big-btn{flex:1}}
.pe-tool{display:flex;flex-direction:column;width:100%}.board{flex:1}.panel-secondary{margin-top:14px;text-align:center}.stage-guide-sub{font-size:12px;color:var(--muted);line-height:1.75}.head-tip{flex:1 0 100%;order:9;display:flex;align-items:center;gap:18px;margin:10px 0 0;padding:9px 12px;border-radius:9px;background:var(--green-soft);border-left:3px solid var(--green)}.head-tip-txt{margin:0;color:#0b6f39;font-size:12.5px;font-weight:700;line-height:1.75;letter-spacing:-.2px;white-space:nowrap}.head-tip-txt b{font-weight:900}.head-tip-img{flex:1;min-width:0;display:flex;justify-content:flex-end}.head-tip-img svg{width:100%;max-width:560px;height:auto}.head-tip-ways{display:none;margin:0;gap:6px;flex-wrap:wrap;align-items:center}.head-tip-ways span{display:inline-flex;align-items:center;gap:3px;border:1px solid #9ee0bb;background:#fff;border-radius:20px;padding:3px 10px;font-size:11.5px;font-weight:900;color:#0b6f39;letter-spacing:-.2px}.head-tip-ways i{font-style:normal;color:var(--green)}@media(max-width:900px){.head-tip{flex-direction:column;align-items:flex-start;gap:9px}.head-tip-txt{white-space:normal}.head-tip-img{display:none}.head-tip-ways{display:flex}}.tb-right{margin-left:auto;display:flex;align-items:center;gap:5px}.tb-btn.reset{border-color:#d9dedb;color:#5d6a62}.tb-btn.reset:hover:not(:disabled){border-color:#f0b4ae;color:#b03a2e;background:linear-gradient(180deg,#fff 0%,#fdf6f5 100%)}.modal-row{display:flex;gap:9px;align-items:stretch;justify-content:center}.modal-row .big-btn{min-width:150px}.ghost-btn{border:1px solid #dae0dd;background:#fff;color:#5d6a62;font-weight:900;font-size:14px;border-radius:11px;padding:12px 20px;cursor:pointer;flex:0 0 auto;transition:border-color .16s,color .16s,background-color .16s}.ghost-btn:hover{border-color:#b6c0ba;color:#1f2830;background:#f6f8f7}.big-btn.danger{background:var(--danger);box-shadow:0 8px 16px rgba(230,0,18,.2)}.big-btn.danger:hover:not(:disabled){background:#c00010}
