:root{color:#111;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#fff;margin:0}button,input{font:inherit}button{cursor:pointer}button:not(.endpoint),.text-button,.ghost-button{min-height:44px}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #111}.camera-screen button:focus-visible{outline-color:#ffd21a}.app-shell,.editor-screen{background:#fff;flex-direction:column;gap:24px;width:min(100%,430px);min-height:100svh;margin:0 auto;padding:28px 20px 24px;display:flex}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}h1{letter-spacing:-.03em;margin:0;font-size:1.75rem}p{margin:8px 0 0;font-size:.95rem}h2{margin:0;font-size:1.1rem}.muted{color:#666;line-height:1.5}.error-copy{color:#b42318;font-weight:700}.success-copy{color:#18794e;font-weight:700}.language-switch{border:1px solid #ddd;border-radius:999px;display:flex;overflow:hidden}.language-switch button{background:#fff;border:0;min-width:44px;padding:7px 10px;font-size:.78rem}.language-switch button.active{color:#fff;background:#111}.primary-button,.secondary-button{border-radius:12px;width:100%;min-height:54px;font-weight:700}.primary-button{color:#111;background:#ffd21a;border:0}.secondary-button{color:#fff;background:#202020;border:0}.secondary-button:disabled{opacity:.45;cursor:not-allowed}.text-button,.ghost-button{color:inherit;background:0 0;border:0;padding:10px 8px}.danger-button{color:#9f2d27;background:#fff;border:1px solid #c83b32;border-radius:12px;width:100%;min-height:48px}.saved-section{gap:12px;display:grid}.empty-card{color:#666;text-align:center;border:1px solid #e6e6e6;border-radius:14px;place-items:center;min-height:120px;padding:20px;display:grid}.saved-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.saved-card{border:1px solid #e8e8e8;border-radius:14px;gap:8px;padding:10px;display:grid}.saved-image-button{aspect-ratio:1;background:#f4f4f4;border:0;border-radius:10px;min-height:96px;padding:0;overflow:hidden}.saved-image-button img{object-fit:contain;width:100%;height:100%}.saved-actions{gap:6px;display:flex}.saved-actions button{background:#fff;border:1px solid #ddd;border-radius:8px;flex:1;min-height:44px;padding:10px 7px;font-size:.78rem}.secondary-section{gap:10px;margin-top:auto;display:grid}.camera-screen{color:#fff;background:#050505;flex-direction:column;justify-content:center;align-items:center;gap:24px;width:min(100%,430px);min-height:100svh;margin:0 auto;padding:24px;display:flex;position:relative}.camera-copy{text-align:center;font-weight:700;position:absolute;top:70px;left:24px;right:24px}.top-left{color:#fff;min-width:44px;min-height:44px;font-size:1.4rem;position:absolute;top:12px;left:10px}.shutter-file input,.hidden-file-input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;position:absolute}.shutter{background:#ffd21a;border:6px solid #fff;border-radius:50%;width:74px;height:74px;display:block;box-shadow:0 0 0 3px #ffd21a}.source-choice-screen{justify-content:flex-end}.source-choice-actions{width:100%;margin-bottom:max(24px, env(safe-area-inset-bottom));gap:12px;display:grid}.selection-stage{touch-action:none;background:#111;border-radius:14px;width:100%;position:relative;overflow:hidden}.selection-stage img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.selection-stage svg{width:100%;height:100%;position:absolute;inset:0}.button-row{gap:10px;display:flex}.button-row button{background:#fff;border:1px solid #ddd;border-radius:10px;flex:1;min-height:44px}.button-row button:disabled{opacity:.45;cursor:not-allowed}.button-row button.selected-option{background:#ffd21a;border-color:#111;font-weight:700}.center-content{justify-content:center;align-items:stretch}.cutout-preview{border-radius:14px;place-items:center;min-height:240px;display:grid;overflow:hidden}.cutout-preview img{object-fit:contain;width:100%;max-height:340px}.checker{background-image:linear-gradient(45deg,#eee 25%,#0000 25%),linear-gradient(-45deg,#eee 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#eee 75%),linear-gradient(-45deg,#0000 75%,#eee 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.field-label{gap:8px;font-weight:700;display:grid}.field-label input{border:1px solid #ccc;border-radius:10px;width:100%;min-height:48px;padding:0 12px}.length-screen,.area-screen{gap:18px}.length-stage,.area-stage,.remeasure-stage{touch-action:none;background:#050505;border-radius:14px;width:100%;position:relative;overflow:hidden}.length-stage>img,.area-stage>img,.remeasure-stage>img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.endpoint{z-index:5;touch-action:none;background:#ffd21a;border:4px solid #fff;border-radius:50%;width:28px;height:28px;margin:-14px 0 0 -14px;padding:0;position:absolute}.measure-line{transform-origin:0;z-index:3;background:#ffd21a;height:3px;position:absolute}.unit-drag-handle{z-index:5;touch-action:none;background:0 0;border:0;min-width:44px;min-height:44px;padding:0;position:absolute}.unit-drag-handle img{object-fit:contain;pointer-events:none;width:100%;height:auto;display:block}.unit-copy-clip{transform-origin:50%;z-index:4;pointer-events:none;align-items:center;height:90px;display:flex;position:absolute;overflow:hidden}.unit-copy-clip img{object-fit:contain;transform-origin:50%;max-height:90px;display:block}.range-label{gap:8px;font-weight:700;display:grid}.range-label input{accent-color:#ffd21a;width:100%;min-height:44px}.result-card{border:1px solid #e7e7e7;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;min-height:80px;padding:12px;font-size:1.35rem;display:flex}.result-card img{object-fit:contain;width:54px;height:54px}.result-card span{text-align:center;color:#666;width:100%;font-size:.85rem}.confirmed-actions,.export-actions{gap:10px;display:grid}.area-stage svg,.remeasure-stage svg{z-index:3;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.area-origin-unit{z-index:4;object-fit:contain;pointer-events:none;max-height:120px;position:absolute}.tile-layer{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:hidden}.tile-layer img{object-fit:contain;transform-origin:50%;max-height:120px;position:absolute}.history-list{gap:10px;display:grid}.history-item{text-align:left;background:#fff;border:1px solid #e5e5e5;border-radius:14px;grid-template-columns:76px 1fr;align-items:center;gap:12px;width:100%;min-height:96px;padding:10px;display:grid}.history-item img,.history-placeholder{object-fit:cover;background:#f1f1f1;border-radius:10px;width:76px;height:76px}.history-item span{gap:5px;display:grid}.history-item small,.history-result-card time{color:#666}.history-result-card{gap:12px;display:grid}.history-target{object-fit:contain;background:#050505;border-radius:14px;width:100%;max-height:440px}.history-preview-wrap{position:relative}.history-preview-result{background:#ffffffeb;border-radius:12px;justify-content:center;align-items:center;gap:12px;min-height:70px;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.history-preview-result img{object-fit:contain;width:50px;height:50px}.presentation-panel{border:1px solid #e7e7e7;border-radius:14px;gap:12px;padding:14px;display:grid}.toggle-row{align-items:center;gap:10px;min-height:44px;display:flex}.toggle-row input{accent-color:#ffd21a;width:24px;height:24px}.ordinary-screen{position:relative}.ordinary-unavailable{border:1px solid #e6e6e6;border-radius:14px;padding:18px}.xr-overlay{display:none}.xr-overlay.active{z-index:1000;color:#fff;pointer-events:none;display:block;position:fixed;inset:0}.xr-crosshair{width:34px;height:34px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.xr-crosshair span{background:#ffd21a;position:absolute}.xr-crosshair span:first-child{height:2px;top:16px;left:0;right:0}.xr-crosshair span:last-child{width:2px;top:0;bottom:0;left:16px}.xr-controls{left:16px;right:16px;bottom:max(16px, env(safe-area-inset-bottom));pointer-events:auto;background:#050505d1;border-radius:16px;gap:10px;padding:14px;display:grid;position:absolute}.xr-copy{text-align:center;margin:0;font-weight:700}.xr-result{color:#111;text-align:center;background:#fffffff0;border-radius:12px;grid-template-columns:1fr 1fr;gap:4px 10px;padding:10px 12px;display:grid}.xr-result span{color:#666;grid-column:1/-1;font-size:.8rem}.xr-result strong{font-size:1.15rem}
