.id-main{max-width:1100px;margin:auto;padding:0 16px 24px}.app-header{max-width:1100px}.notice{display:flex;gap:10px;align-items:center;margin:6px 0 18px;font-size:13px}.workspace{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.card{background:#fff;border:var(--border);border-radius:12px;padding:20px;margin-bottom:20px}.card h2{font-size:18px;margin:0 0 18px;display:flex;gap:10px;align-items:center}.photo-drop{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:var(--mint-lighter);color:var(--ink);padding:16px 8px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;cursor:pointer;font:inherit}.photo-drop>i{font-size:40px;color:var(--mint-dark);margin-bottom:6px}.photo-drop strong{font-size:18px}.crop-wrap.drag{border-color:var(--mint-dark)}.crop-wrap.drag .photo-drop{background:var(--mint-light)}.photo-drop small{color:var(--muted)}.photo-actions{display:flex;flex-direction:column;gap:10px;margin-top:12px}.photo-actions[hidden],.photo-drop[hidden]{display:none}.photo-buttons{display:flex;gap:12px;flex-wrap:wrap}.photo-actions span{overflow-wrap:anywhere;min-width:0}.photo-actions .btn{flex-shrink:0}.crop-wrap{position:relative;max-width:280px;margin:0 auto;background:#eaf6f8;border:3px dashed #9da8a8;aspect-ratio:24/30;overflow:hidden}.crop-wrap.has-photo{border:2px solid var(--ink)}.crop-wrap canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.crop-wrap canvas:focus-visible{outline:3px solid var(--mint-dark);outline-offset:-4px}.guide-caption{font-size:13px;color:var(--muted);margin:14px 0}.check{display:flex;gap:10px;align-items:center;margin:16px 0;font-size:14px;min-height:32px}.check input{width:21px;height:21px;accent-color:var(--mint-dark);flex:none}.range-row{display:block;margin:18px 0}.range-row span{display:flex;justify-content:space-between;font-weight:700;margin-bottom:8px}.range-row input{width:100%;height:32px;accent-color:var(--mint-dark)}fieldset{border:0;padding:0;margin:0;min-width:0}.adjust-buttons{display:flex;gap:12px;flex-wrap:wrap}.btn{min-height:44px;justify-content:center;gap:7px;white-space:normal;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.small{font-size:12px;color:var(--muted);line-height:1.7}.paper-label{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin-bottom:14px}.paper-label b{color:var(--mint-dark)}.paper-label span{font-size:13px}#sheet{display:block;width:100%;max-width:290px;height:auto;margin:0 auto 20px;border:1px solid #9ca8a8;background:#fff;box-shadow:4px 5px 0 #dbeef1}.print-note{font-size:13px;margin-top:18px}.print-note ol{padding-left:22px}.print-note li{margin:8px 0}.rules li{margin:10px 0}.rules ul{padding-left:22px}.id-main a{color:#247481}#error{color:#a12323;background:#fff1f0;padding:12px;border-radius:8px}#status{margin:8px 0 0;font-size:13px;color:var(--mint-dark)}#status:empty{display:none}dialog{color:var(--ink);background:#fff;border:var(--border);border-radius:12px;width:min(600px,calc(100% - 24px));max-height:85dvh;padding:22px;box-shadow:var(--shadow)}dialog::backdrop{background:#17292a99}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.dialog-head h2,dialog h2{font-size:20px;margin:0 0 12px}.dialog-head .btn{flex-shrink:0}.dialog-body{max-height:45dvh;overflow:auto;overscroll-behavior:contain}.dialog-body ol{padding-left:22px}.dialog-body li{margin-bottom:14px;font-size:14px}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap}.dialog-actions .btn{flex:1}#download-link{display:flex;text-decoration:none}#resolution[data-low=true]{color:#9b5100}.app-footer{padding:20px;text-align:center}.app-footer a{color:var(--mint-dark)}@media(max-width:700px){.workspace{grid-template-columns:1fr;gap:0}.card{padding:16px}.app-header{align-items:flex-start}.brand-text h1{font-size:21px}.photo-actions{font-size:12px}.photo-actions .btn{font-size:12px}.photo-drop{padding:20px 10px}.photo-drop strong{font-size:18px}.id-main{padding:0 12px 20px}.notice{align-items:flex-start}.rules h2{font-size:18px}.btn{font-size:14px}dialog{padding:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.print-links{margin-top:16px}.print-links p{font-size:13px}.print-links ul{margin:8px 0;padding-left:20px}.print-links li{margin:0}.print-links li a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:13px;font-weight:700;text-decoration:underline}.print-links a i{font-size:11px;flex-shrink:0}

.crop-wrap.has-photo canvas:active{cursor:grabbing}

.app-header{flex-wrap:wrap}.app-header .brand{flex:1 1 420px}.app-header .header-mascot{margin-left:auto}.hm-link{min-height:32px}@media(max-width:700px){.app-header .header-mascot{margin-left:0}.hm-bubble p{font-size:12px}.hm-link{font-size:11px}}

.guide-frame{max-width:358px;margin:0 auto;padding:32px 50px 60px 28px;box-sizing:border-box}.guide-stage{position:relative}.guide-measurements{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;color:#176b76}.measure-lines{fill:none;stroke:currentColor;stroke-width:1.5}.measure-labels{fill:currentColor;font:700 22px sans-serif;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}.measure-labels .measure-unit{font-size:21px;font-weight:400}

.guide-measurements[hidden]{display:none}

.photo-drop>.photo-silhouette{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(140px,20vw,220px);opacity:.16;margin:0;pointer-events:none}.photo-drop>strong,.photo-drop>span,.photo-drop>small{position:relative;z-index:1}

.photo-rulers{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;color:#405b60}.ruler-background{fill:#eef3f3}.ruler-ticks{fill:none;stroke:currentColor;stroke-width:1}.ruler-numbers{fill:currentColor;font:17px sans-serif}


.cutmark-options{display:flex;flex-wrap:wrap;gap:8px 20px;margin:-8px 0 18px}.cutmark-options .check{margin:0;min-height:44px}.cutmark-options:disabled{opacity:.5}


.measure-labels{font-size:15px;stroke-width:3px}.measure-labels .measure-unit{font-size:14px}.ruler-numbers{font-size:12px}
