@font-face{font-family:Notion Sans Local;font-style:normal;font-weight:45 920;font-display:swap;src:url(/fonts/PretendardVariable.woff2)format("woff2-variations")}:root{--canvas:#fff;--surface:#f6f5f4;--surface-soft:#fafaf9;--hairline:#e5e3df;--hairline-soft:#ede9e4;--hairline-strong:#c8c4be;--ink-deep:#000;--ink:#1a1a1a;--charcoal:#37352f;--slate:#5d5b54;--steel:#787671;--stone:#a4a097;--muted:#bbb8b1;--primary:#5645d4;--primary-pressed:#4534b3;--on-primary:#fff;--link-blue:#0075de;--brand-navy:#0a1530;--brand-orange:#dd5b00;--brand-green:#1aae39;--brand-pink:#ff64c8;--card-tint-peach:#ffe8d4;--card-tint-rose:#fde0ec;--card-tint-mint:#d9f3e1;--card-tint-lavender:#e6e0f5;--card-tint-sky:#dcecfa;--card-tint-yellow:#fef7d6;--card-tint-yellow-bold:#f9e79f;--danger:#e03131;--radius-sm:6px;--radius:8px;--radius-lg:12px;--shadow-card:#0f0f0f14 0 4px 12px 0;--shadow-mockup:#0f0f0f33 0 24px 48px -8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--surface);color:var(--charcoal);letter-spacing:0;margin:0;font-family:Notion Sans Local,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}.app-shell{min-height:100svh;padding:24px}.landing{place-items:center;display:grid}.login-panel{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--canvas);width:min(100%,960px);box-shadow:var(--shadow-mockup);grid-template-columns:minmax(280px,.95fr) minmax(320px,1fr);display:grid;overflow:hidden}.login-photo{background-position:50%;background-size:cover;min-height:500px}.login-body{align-content:center;min-width:0;padding:clamp(28px,6vw,64px);display:grid}.brand-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.brand-row.compact{justify-content:flex-start}.brand-mark{border:1px solid var(--hairline-strong);border-radius:var(--radius);background:var(--canvas);width:44px;height:44px;color:var(--ink);place-items:center;font-size:1.05rem;font-weight:650;display:grid;box-shadow:0 1px 2px #0f0f0f0a}.brand-title{--login-title-scale:1;width:100%;min-width:0;max-width:min(500px,100%);color:var(--ink);font-size:calc(clamp(2.25rem, 7vw, 4rem) * var(--login-title-scale));letter-spacing:0;white-space:nowrap;margin:22px 0 10px;font-weight:680;line-height:1.05;overflow:visible}.muted{color:var(--slate);line-height:1.55}.login-form,.inline-form,.editor-form{gap:12px;display:grid}.login-form{margin-top:26px}.field{gap:7px;display:grid}.field span,.summary-card span,.slot-label{color:var(--steel);font-size:.82rem;font-weight:560}.input,.select,.textarea{border:1px solid var(--hairline-strong);border-radius:var(--radius);background:var(--canvas);width:100%;min-height:44px;color:var(--ink);outline:none;padding:10px 12px}.textarea{resize:vertical;min-height:92px}.input:focus,.select:focus,.textarea:focus,.color-input:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.primary-button,.secondary-button,.danger-button,.ghost-button{border-radius:var(--radius);border:1px solid #0000;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 14px;font-size:.9rem;font-weight:560;line-height:1.3;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.button-icon,.control-icon{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.08em;height:1.08em}.control-icon{width:17px;height:17px}.primary-button{background:var(--primary);color:var(--on-primary)}.primary-button:hover{background:var(--primary-pressed)}.compact-button{min-height:34px;padding:6px 11px;font-size:.84rem}.secondary-button{border-color:var(--hairline-strong);color:var(--ink);background:0 0}.secondary-button:hover,.ghost-button:hover{background:var(--surface)}.danger-button{border-color:color-mix(in srgb, var(--danger), #fff 72%);color:var(--danger);background:#fff7f7}.ghost-button{color:var(--slate);background:0 0;border-color:#0000}.icon-only-button{gap:0;width:40px;min-width:40px;padding:0}.primary-button:focus-visible,.secondary-button:focus-visible,.danger-button:focus-visible,.ghost-button:focus-visible,.shoe-slot:focus-visible,.area-tile:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.error-box,.status-box{border-radius:var(--radius);margin:10px 0;padding:12px 13px;font-size:.9rem;line-height:1.5}.error-box{border:1px solid color-mix(in srgb, var(--danger), #fff 72%);color:var(--danger);background:#fff7f7}.status-box{border:1px solid color-mix(in srgb, var(--brand-green), #fff 68%);background:var(--card-tint-mint);color:#166534}.workspace{gap:14px;width:100%;min-width:0;max-width:1180px;margin:0 auto;display:grid}.topbar-actions{align-content:center;gap:8px;min-width:148px;display:grid}.summary-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.summary-card{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--canvas);gap:4px;min-width:0;padding:16px;display:grid}.summary-card strong{color:var(--ink);letter-spacing:0;overflow-wrap:anywhere;font-size:clamp(1.55rem,4vw,2rem);font-weight:680;line-height:1}.content-grid{min-width:0;display:block}.help-page{justify-items:center;display:grid}.help-shell{gap:14px;width:min(100%,860px);display:grid}.help-header,.help-card{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--canvas);box-shadow:0 1px 2px #0f0f0f0a}.help-header{justify-content:space-between;align-items:flex-end;gap:14px;padding:18px;display:flex}.help-header h1{color:var(--ink);margin:4px 0 0;font-size:clamp(2rem,6vw,3.1rem);font-weight:680;line-height:1.08}.help-header p{margin:0}.help-back{text-decoration:none}.help-card{gap:10px;padding:18px;display:grid}.help-card h2{color:var(--ink);margin:0;font-size:clamp(1.2rem,3.5vw,1.55rem);font-weight:650;line-height:1.22}.help-card p,.help-card ul{color:var(--slate);margin:0;line-height:1.65}.help-card ul{padding-left:20px}.help-card li+li{margin-top:6px}.help-list{gap:12px;display:grid}.shelf-section{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--canvas);min-width:0;padding:16px}.section-header{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:14px;display:flex}.section-header h2,.editor-sheet h2{color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:650;line-height:1.22}.section-header p,.editor-title p{margin:4px 0 0}.section-actions{flex-wrap:wrap;gap:8px;display:flex}.area-section-actions{flex-direction:column;align-items:stretch}.area-help-link{color:var(--link-blue)}.settings-panel{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--canvas);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.settings-header h2{color:var(--ink);margin:0;font-size:1.08rem;font-weight:650;line-height:1.25}.settings-header p{margin:4px 0 0}.settings-panel .topbar-actions{align-content:initial;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:end;width:min(100%,360px)}.member-chips{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start;gap:8px;display:flex}.member-chip{--member-color:var(--card-tint-lavender);border:1px solid color-mix(in srgb, var(--member-color), var(--hairline-strong) 46%);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--member-color), #fff 72%);min-height:30px;color:var(--charcoal);align-items:center;gap:7px;padding:4px 8px;font-size:.84rem;font-weight:560;display:inline-flex}.owner-dot{background:var(--member-color);border:1px solid #0f0f0f1f;border-radius:999px;flex:none;width:9px;height:9px}.shelf-scroll{-webkit-overflow-scrolling:touch;min-width:0;padding-bottom:6px;overflow-x:auto}.area-settings{grid-column:1/-1;grid-template-columns:minmax(160px,1fr) auto auto;gap:8px;margin-bottom:12px;display:grid}.free-canvas{--canvas-step-px:124;--canvas-step:calc(var(--canvas-step-px) * 1px);--box-size:108px;min-width:max(100%, calc(var(--canvas-cols) * var(--canvas-step)));min-height:calc(var(--canvas-rows) * var(--canvas-step));border:1px solid var(--hairline);border-radius:var(--radius);background:linear-gradient(var(--hairline-soft) 1px, transparent 1px), linear-gradient(90deg, var(--hairline-soft) 1px, transparent 1px), var(--surface-soft);background-size:var(--canvas-step) var(--canvas-step);position:relative;overflow:hidden}.shoe-slot,.area-tile{left:calc(var(--canvas-x) * var(--canvas-step) + 8px);top:calc(var(--canvas-y) * var(--canvas-step) + 8px);width:calc(var(--canvas-step) * var(--canvas-col-span,1) - 16px);height:calc(var(--canvas-step) * var(--canvas-row-span,1) - 16px);border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--canvas);min-width:0;color:var(--charcoal);text-align:left;touch-action:manipulation;align-content:space-between;padding:10px;transition:background-color .15s,border-color .15s,box-shadow .15s;display:grid;position:absolute}.area-tile{background:var(--card-tint-yellow);border-color:color-mix(in srgb, var(--brand-orange), #fff 62%);align-content:center;gap:6px}.area-tile:nth-child(2n){background:var(--card-tint-mint);border-color:color-mix(in srgb, var(--brand-green), #fff 68%)}.area-tile:nth-child(3n){background:var(--card-tint-rose);border-color:color-mix(in srgb, var(--brand-pink), #fff 70%)}.area-tile.selected{border-color:var(--primary);background:var(--card-tint-lavender);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary), transparent 76%)}.shoe-slot:hover,.shoe-slot:focus-visible,.area-tile:hover,.area-tile:focus-visible{border-color:var(--hairline-strong);box-shadow:0 1px 2px #0f0f0f0a}.arrange-active .shoe-slot{cursor:grab;touch-action:none}.arrange-active .shoe-slot:active{cursor:grabbing}.arrange-active .area-tile{cursor:pointer}.area-canvas.arrange-active{margin-block-start:14px;margin-inline-end:18px;overflow:visible}.area-tile.resizing{z-index:5;transition:none}.resize-handle{z-index:3;border:1px solid var(--primary);background:var(--canvas);width:28px;height:28px;color:var(--primary);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:999px;place-items:center;line-height:1;display:grid;position:absolute;box-shadow:0 6px 14px -6px #0f0f0f29}.resize-handle.north,.resize-handle.south{cursor:ns-resize;left:50%}.resize-handle.north{top:0;transform:translate(-50%,-50%)}.resize-handle.south{bottom:0;transform:translate(-50%,50%)}.resize-handle.east,.resize-handle.west{cursor:ew-resize;top:50%}.resize-handle.east{right:0;transform:translate(50%,-50%)}.resize-handle.west{left:0;transform:translate(-50%,-50%)}.area-tile.resizing .resize-handle,.resize-handle:hover{background:var(--primary);color:var(--on-primary)}.area-canvas .resize-handle{width:34px;height:34px;font-size:1rem;box-shadow:0 8px 16px -7px #0f0f0f2e}.tile-delete-button{z-index:4;border:1px solid color-mix(in srgb, var(--danger), #fff 68%);background:var(--canvas);width:26px;height:26px;color:var(--danger);border-radius:999px;place-items:center;line-height:1;display:grid;position:absolute;top:6px;right:6px;box-shadow:0 4px 10px -6px #0f0f0f1f}.area-canvas .area-tile .tile-delete-button{border-color:color-mix(in srgb, var(--danger), #fff 54%);width:30px;height:30px;top:-15px;right:-15px;box-shadow:0 7px 14px -7px #0f0f0f2e}.tile-delete-button:hover,.tile-delete-button:focus-visible{border-color:var(--danger);background:#fff7f7;outline:none}.shoe-slot.dragging,.area-tile.dragging{z-index:2;border-color:var(--primary);box-shadow:var(--shadow-card);opacity:.78}.shoe-slot.filled{background:color-mix(in srgb, var(--owner-color), #fff 78%);border-color:color-mix(in srgb, var(--owner-color), var(--hairline-strong) 42%)}.shoe-slot.photo-slot{background:var(--canvas);grid-template-rows:minmax(0,1fr) auto;align-content:stretch;gap:0;padding:0;display:grid;overflow:hidden}.shoe-photo-frame{border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0;background:color-mix(in srgb, var(--owner-color), #fff 84%);place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.shoe-photo-frame img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.shoe-photo-frame span{color:var(--steel);font-size:.82rem;font-weight:560}.photo-owner{border:0;border-top:1px solid color-mix(in srgb, var(--member-color), var(--hairline-strong) 42%);background:color-mix(in srgb, var(--member-color), #fff 72%);min-width:0;color:var(--charcoal);border-radius:0;padding:6px 8px}.shoe-name{-webkit-line-clamp:3;color:var(--ink);overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:6px 0;font-size:clamp(.98rem,3vw,1.12rem);font-weight:650;line-height:1.18;display:-webkit-box;overflow:hidden}.empty-label{color:var(--steel);font-size:.9rem;font-weight:560}.area-name{color:var(--ink);overflow-wrap:anywhere;font-size:clamp(1.02rem,3vw,1.24rem);font-weight:650;line-height:1.22;display:block}.area-count{color:var(--slate);font-size:.82rem;font-weight:560}.shoe-owner{min-width:0;color:var(--slate);align-items:center;gap:6px;font-size:.8rem;font-weight:540;display:flex}.shoe-owner span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.placement-tools{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface-soft);gap:12px;margin:12px 0 14px;padding:12px;display:grid}.placement-tools strong,.placement-tools span{display:block}.placement-tools strong{color:var(--ink);font-size:.98rem;font-weight:650}.placement-tools span{color:var(--slate);margin-top:3px;font-size:.86rem;font-weight:450}.placement-buttons{flex-wrap:wrap;gap:8px;display:flex}.notice-popup{z-index:40;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--canvas);gap:12px;width:min(360px,100vw - 36px);padding:14px;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 16px 48px -8px #0f0f0f29}.notice-popup p{color:var(--ink);margin:0;font-size:.94rem;font-weight:560;line-height:1.45}.member-list{gap:10px;margin:14px 0;display:grid}.member-row{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.member-row .input{min-width:0}.color-input{border:1px solid var(--hairline);border-radius:var(--radius);background:#fff;width:38px;height:42px;padding:3px}.member-actions,.form-actions{flex-wrap:wrap;gap:8px;display:flex}.member-actions{grid-column:auto;justify-content:flex-end;width:auto}.member-delete-button{white-space:nowrap;min-height:42px}.divider{background:var(--hairline);height:1px;margin:14px 0}.modal-backdrop{z-index:20;background:#0f0f0f47;place-items:end center;padding:18px;display:grid;position:fixed;inset:0}.editor-sheet{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--canvas);width:min(100%,480px);max-height:min(720px,100svh - 36px);padding:18px;overflow:auto;box-shadow:0 16px 48px -8px #0f0f0f29}.member-settings-sheet{width:min(100%,560px)}.status-sheet{width:min(100%,680px)}.editor-title{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.mode-field{border:1px solid var(--hairline);border-radius:var(--radius);flex-wrap:wrap;gap:8px;margin:0;padding:10px;display:flex}.mode-field legend{color:var(--steel);padding:0 4px;font-size:.82rem;font-weight:560}.mode-field label{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-soft);min-height:34px;color:var(--charcoal);align-items:center;gap:7px;padding:6px 10px;font-size:.9rem;font-weight:560;display:inline-flex}.photo-field,.photo-preview{gap:10px;display:grid}.photo-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.photo-preview img{object-fit:cover;border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-soft);width:100%;max-height:260px}.status-summary,.status-card,.status-owner-list,.area-status-list{gap:10px;display:grid}.status-card{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface-soft);padding:12px}.status-card h3{color:var(--ink);margin:0;font-size:1rem;font-weight:650}.status-owner-row,.area-status-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.status-owner-row strong,.area-status-title strong{color:var(--ink);font-weight:650}.status-owner-list.compact{gap:7px}.area-status-row{border-top:1px solid var(--hairline);gap:8px;padding-top:10px;display:grid}.area-status-row:first-child{border-top:0;padding-top:0}.area-status-title span{color:var(--slate);font-size:.9rem;font-weight:560}.loading-screen{min-height:100svh;color:var(--slate);place-items:center;font-weight:560;display:grid}@media (max-width:860px){.login-panel{grid-template-columns:1fr}.login-photo{min-height:240px}.topbar-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.member-chips{justify-content:flex-start}.settings-panel{grid-template-columns:1fr}.settings-panel .topbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;width:100%}}@media (max-width:540px){.app-shell{padding:10px}.login-body,.login-panel{width:100%}.login-body{padding:22px}.brand-title{font-size:calc(clamp(2rem, 13vw, 3rem) * var(--login-title-scale))}.topbar-actions{grid-template-columns:1fr}.topbar-actions button{width:100%;min-width:0;padding-inline:10px}.photo-actions{grid-template-columns:1fr}.settings-panel .topbar-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-row{gap:6px}.summary-card{padding:12px 10px}.summary-card strong{font-size:clamp(1.25rem,8vw,1.7rem)}.resize-handle{width:26px;height:26px;font-size:.84rem}.area-canvas .resize-handle{width:40px;height:40px;font-size:1.06rem}.area-canvas .area-tile .tile-delete-button{width:36px;height:36px;font-size:1.08rem;top:-18px;right:-18px}.help-header{flex-direction:column;align-items:stretch}.help-back{width:100%}.section-header{flex-direction:column;align-items:flex-start}.area-settings{grid-template-columns:1fr}.free-canvas{--canvas-step-px:96;--box-size:84px}.shoe-slot,.area-tile{padding:8px}.shoe-slot.photo-slot{padding:0}.photo-owner{padding:5px 6px}.member-row{grid-template-columns:34px minmax(0,1fr) auto}.member-row .member-actions{width:auto}.member-delete-button{padding-inline:10px}.form-actions{width:100%}.placement-buttons button{flex:calc(50% - 8px);padding-inline:10px}.notice-popup{width:calc(100vw - 20px);bottom:10px;right:10px}.member-list .member-actions button{flex:none}.form-actions button{flex:auto}}
