:root{--bg: #eef4ff;--bg-accent: #e4eeff;--panel: #ffffff;--card: #ffffff;--text: #14233f;--muted: #56657f;--primary: #1565d8;--primary-strong: #0f4fb3;--primary-soft: #e8f1ff;--border: #cfdcf5;--danger: #b91c1c;--success: #1f7ae0;--ok: var(--success);--focus: #1565d8;--radius-0: 0px;--radius-1: 1px;--radius-2: 2px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--depth-font-size: clamp(12px, 1.1vw, 15px);--shadow-soft: 0 6px 18px rgba(7, 30, 16, .06);--topbar-top-gap: 12px;--layout-max-width: 1100px;--topbar-bg-start: #1a67d9;--topbar-bg-mid: #1556be;--topbar-bg-end: #103f90}*{box-sizing:border-box}html,body{height:100%;overflow-x:hidden}html{scrollbar-gutter:stable}body{overflow-y:scroll}body{margin:0;background:radial-gradient(circle at 8% -6%,rgba(21,101,216,.08),transparent 42%),radial-gradient(circle at 92% 8%,rgba(15,79,179,.07),transparent 36%),linear-gradient(180deg,var(--bg-accent) 0%,var(--bg) 35%,var(--bg) 100%);color:var(--text);font-size:16px;line-height:1.5;font-family:Pretendard Variable,Pretendard,system-ui,-apple-system,Segoe UI,Roboto,Noto Sans KR,Arial,sans-serif}a{color:var(--primary-strong);text-decoration:none}a:hover{color:var(--primary)}.container{max-width:var(--layout-max-width);margin:0 auto;padding:var(--space-4);padding-top:clamp(40px,6vh,50px);width:100%}.drilldown-embedded-container{max-width:100%;width:100%;min-width:0;padding:0;overflow-x:hidden}.drilldown-embedded-container>*{min-width:0;max-width:100%}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-2);box-shadow:var(--shadow-soft);padding:var(--space-3)}.card-selectable{cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.card-selectable:hover{border-color:#2563eb61}.card-selected{background:var(--primary-soft);border-color:#03c75ab8;box-shadow:0 6px 16px #03c75a29}.accordion-panel{overflow:hidden}.accordion-panel-inner{padding-top:10px}.row{display:flex;gap:var(--space-3);align-items:center}.row-wrap{flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--muted)}.depth3-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.depth-text-tablet{font-size:var(--depth-font-size);line-height:1.35}.page-title{font-size:16px;font-weight:700}.btn{border:1px solid var(--border);background:#fafffb;color:var(--text);border-radius:var(--radius-1);padding:10px 12px;font-weight:600;word-break:keep-all;cursor:pointer;white-space:nowrap;min-height:44px;font-size:16px;line-height:1.2;max-width:100%;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}.btn:hover:not(:disabled){border-color:#03c75a73;background:#f1faf5}.btn-sm{padding:8px 10px;font-size:16px;border-radius:var(--radius-1);min-height:44px}.icon-btn{width:44px;min-width:44px;height:44px;min-height:44px;border-radius:var(--radius-1);border:1px solid rgba(168,187,173,.65);background:#f9fffb;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.icon-btn:hover:not(:disabled){border-color:#03c75a73;background:#ebf9f1}.icon-btn:disabled{opacity:.55;cursor:not-allowed}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,var(--primary) 0%,var(--primary-strong) 100%);border-color:var(--primary-strong);color:#fff;box-shadow:0 2px 10px #0f4fb338}.btn-primary:hover:not(:disabled){filter:brightness(.98);box-shadow:0 4px 12px #0f4fb340}.btn-secondary{background:#f3f9f5;border-color:#c4d8ca;color:var(--text)}.btn-secondary:hover:not(:disabled){background:#eaf5ee}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-ghost{background:transparent}.btn-ghost:hover:not(:disabled){background:#03c75a14}.input{width:100%;padding:12px;border:1px solid var(--border);border-radius:var(--radius-1);background:#fdfffe;outline:0;font-size:16px;line-height:1.45;min-height:44px}.input:hover{border-color:#b8d0c0}.input:focus{border-color:var(--primary-strong);box-shadow:0 0 0 2px #03c75a24}.select{width:100%;min-height:44px;font-size:16px}textarea.input{min-height:96px;resize:vertical}input,select,textarea{font-size:16px}.btn:focus-visible,.icon-btn:focus-visible,.input:focus-visible,select.input:focus-visible,textarea.input:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 2px #03c75a33}.page,.panel,.stack{display:block}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-2);box-shadow:var(--shadow-soft)}.panel,.card{-webkit-backdrop-filter:saturate(1.04);backdrop-filter:saturate(1.04)}.stack,.grid{display:grid;gap:12px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:720px){:root{--topbar-top-gap: 6px}.container{padding:var(--space-3)}.grid-2,.grid-3{grid-template-columns:1fr}}@media(max-width:480px){.row{gap:10px}.btn{white-space:normal}.depth3-title{font-size:clamp(14px,4.3vw,16px);line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word}.depth3-header{flex-direction:column;align-items:stretch;gap:8px}.depth3-header .btn{width:100%}.topbar-inner{padding:10px 12px;gap:10px}.topbar-inner .spacer{display:none}}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:var(--radius-1);border:1px solid var(--border);background:#f8fffb;font-size:13px;line-height:1.2;font-weight:600;min-height:32px}.chip-ok{border-color:#03c75a59;background:#03c75a1f;color:#06773a}.camera-count-badge{border-radius:999px;min-width:32px;padding:6px 10px}.chip-warn{border-color:#eab30859;background:#eab3081f;color:#92400e}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:32px;min-width:72px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-1);font-size:12px;font-weight:700;line-height:1}.badge--ok,.badge--done{border-color:#03c75a59;background:#03c75a1f;color:#06773a}.badge--warn{border-color:#eab30859;background:#eab3081f;color:#92400e}.topbar{position:sticky;top:var(--topbar-top-gap);z-index:10;background:linear-gradient(120deg,var(--topbar-bg-start) 0%,var(--topbar-bg-mid) 58%,var(--topbar-bg-end) 100%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-bottom:1px solid rgba(0,0,0,.08);color:#fff}.topbar .muted{color:#f0f7ffe6}.topbar .icon-btn,.topbar .btn{border-color:#ffffff59;background:#ffffff29;color:#fff}.topbar .icon-btn:hover:not(:disabled),.topbar .btn:hover:not(:disabled){background:#ffffff3d}.topbar .topbar-sync-btn{width:44px;min-width:44px;height:44px;min-height:44px}.topbar .topbar-text-btn{height:44px;min-height:44px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center}.network-banner{position:sticky;top:0;z-index:12;background:#fef2f2;border-bottom:1px solid rgba(220,38,38,.25);color:#991b1b}.network-banner-inner{max-width:var(--layout-max-width);margin:0 auto;padding:8px 16px;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.network-banner-message{font-size:13px;font-weight:700}.pwa-install-banner{position:sticky;top:0;z-index:11;background:#ffffffeb;border-bottom:1px solid rgba(21,101,216,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pwa-install-banner-inner{max-width:var(--layout-max-width);margin:0 auto;padding:8px 16px;display:flex;align-items:center;gap:10px}.pwa-install-banner-message{flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--text)}.pwa-install-banner-actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.pwa-install-banner-install{width:32px;min-width:32px;height:32px;border-radius:999px;border:1px solid rgba(21,101,216,.24);background:#1565d814;color:var(--primary-strong);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.pwa-install-banner-install:hover{border-color:#1565d85c;background:#1565d824}.pwa-install-banner-install:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.pwa-install-banner-close{width:32px;min-width:32px;height:32px;border-radius:999px;border:1px solid rgba(80,99,84,.24);background:#fff;color:var(--muted);cursor:pointer;font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.pwa-install-banner-close:hover{border-color:#1565d84d;color:var(--primary-strong)}.pwa-install-banner-close:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.topbar-inner{max-width:var(--layout-max-width);margin:0 auto;padding:10px 16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toast{position:fixed;top:70px;left:50%;transform:translate(-50%);z-index:60;padding:10px 12px;border-radius:var(--radius-1);border:1px solid rgba(21,101,216,.4);background:#1565d824;color:#0f4fb3;font-weight:700;font-size:16px;box-shadow:var(--shadow-soft)}.login-shell{min-height:calc(100dvh - 84px);display:flex;align-items:center;justify-content:center;padding-top:0;padding-bottom:0}.login-card{width:min(520px,100%);margin:0 auto}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#091d1173;display:flex;align-items:center;justify-content:center;padding:18px;z-index:50}.modal{width:min(720px,100%);background:var(--panel);border-radius:var(--radius-2);border:1px solid #b7d0bc;padding:16px;max-height:min(88vh,920px);overflow:auto}.modal img{width:100%;border-radius:var(--radius-1)}.modal__header{margin-bottom:12px}.modal__title{font-weight:800}.modal__body{display:grid;gap:10px}.modal__footer{margin-top:12px}.camera-modal-backdrop{padding:0;align-items:stretch;justify-content:stretch;z-index:90}.modal.camera-modal{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;max-width:none;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0;padding:0;display:flex;flex-direction:column;overflow:hidden}.modal.camera-modal .modal__body{flex:1;min-height:0;padding:0;gap:0;position:relative}.modal.camera-modal .modal__footer{position:absolute;left:0;right:0;bottom:0;z-index:60;margin-top:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,#0000001a,#0009)}.camera-action-bar{position:absolute;left:0;right:0;bottom:20px;z-index:65;display:flex;justify-content:center;gap:20px;padding:0 14px;padding-bottom:env(safe-area-inset-bottom)}.camera-modal-content{height:100%;min-height:0;min-height:100vh;min-height:100dvh;display:flex!important;flex-direction:column;align-items:stretch!important;gap:8px!important;padding:calc(10px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(118px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));position:relative;box-sizing:border-box}.camera-modal-content--landscape{padding-top:calc(8px + env(safe-area-inset-top))}.camera-video-wrap{flex:1 1 auto;min-height:0;width:100%;height:auto;background:#000;position:relative;overflow:hidden}.camera-video-wrap video{width:100%;height:100%;object-fit:cover;display:block}.inline-drilldown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#00000059;padding:10px}.inline-drilldown-frame{position:relative;width:min(1280px,100%);height:100%;margin:0 auto;border-radius:var(--radius-1);overflow:hidden;background:#fff;box-shadow:0 24px 40px #00000040}.inline-drilldown-frame .container{max-height:calc(100vh - 80px);overflow:auto}@media(max-width:900px){.camera-action-bar{left:0;right:0;bottom:14px;gap:12px;padding-left:8px;padding-right:8px}.camera-action-bar .btn{min-width:124px}.inline-drilldown-overlay{padding:0}.inline-drilldown-frame{border-radius:0}}.capture-notice{font-size:12px;line-height:1.35}.photo-download-box{display:inline-flex;align-items:center;padding:0;border:0;background:transparent}.action-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.action-search{flex:1 1 280px;min-height:44px}.action-bar-buttons{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.action-btn{min-height:44px;padding:10px 14px;border-radius:var(--radius-1);font-size:16px;line-height:1.2;-webkit-tap-highlight-color:transparent}.action-bar .btn.btn-primary.action-btn{color:#fff;background:linear-gradient(180deg,var(--primary) 0%,var(--primary-strong) 100%);border-color:var(--primary-strong)}.action-bar .btn.btn-primary.action-btn:hover:not(:disabled),.action-bar .btn.btn-primary.action-btn:active:not(:disabled){color:#fff;background:linear-gradient(180deg,#0a6f3d,#084e2d);border-color:#084e2d}.action-bar .btn.btn-primary.action-btn:focus-visible{color:#fff;background:linear-gradient(180deg,#0a6f3d,#084e2d);border-color:#084e2d;box-shadow:0 0 0 2px #03c75a2e,0 0 0 4px #0f4fb33d}.action-btn:focus-visible,.action-search:focus-visible,.project-menu-btn:focus-visible{outline:2px solid rgba(3,199,90,.52);outline-offset:2px}.project-list{border-top:1px solid var(--border);margin-bottom:10px;display:block}.project-row-card{background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:none;padding:12px 6px;cursor:pointer;transition:background .14s ease,border-color .14s ease}.project-row-card:hover{background:#1565d80d;border-color:#1565d859}.project-row-card:active{background:#1565d814}.project-row-card.is-disabled{opacity:.65;cursor:not-allowed}.project-row-main{display:flex;align-items:center;gap:12px}.project-row-check{display:flex;align-items:center}.project-check-input{width:20px;height:20px;cursor:pointer}.project-row-text{min-width:0;flex:1}.project-title{font-weight:800;font-size:16px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-meta{margin-top:3px;display:flex;align-items:center;gap:8px;min-height:18px}.project-meta-text{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-status-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.project-status-badge{border:1px solid var(--border);border-radius:var(--radius-1);font-size:12px;font-weight:700;line-height:1;text-align:center;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center}.project-status-badge-square{width:64px;min-width:64px;height:44px;min-height:44px;padding:0 8px}.project-status-progress{border-color:#eab30859;background:#eab3081f;color:#92400e}.project-status-done{border-color:#03c75a59;background:#03c75a1f;color:#06773a}.project-menu-wrap{position:relative;display:flex;align-items:center}.project-menu-btn{border-radius:var(--radius-1);background:transparent;width:44px;min-width:44px;height:44px;min-height:44px}.project-menu-btn:hover:not(:disabled){background:#03c75a1f}.project-menu-btn:active:not(:disabled){background:#03c75a2e}.project-settings-icon{width:20px;height:20px;display:block;object-fit:contain}.project-empty{border-radius:var(--radius-2)}@media(max-width:720px){.action-bar{gap:8px}.action-search{flex-basis:100%;order:2}.action-bar-buttons{width:100%;justify-content:stretch;order:1}.action-bar-buttons .action-btn{flex:1 1 0}.project-row-card{padding:10px}.project-row-main{gap:10px}.project-status-actions{gap:8px}}.admin-user-card{padding:12px}.admin-users-create-btn{color:#fff;background:linear-gradient(180deg,var(--primary) 0%,var(--primary-strong) 100%);border-color:var(--primary-strong)}.admin-users-create-btn:hover:not(:disabled),.admin-users-create-btn:active:not(:disabled){color:#fff;background:linear-gradient(180deg,#0a6f3d,#084e2d);border-color:#084e2d}.admin-users-create-btn:focus-visible{color:#fff;background:linear-gradient(180deg,#0a6f3d,#084e2d);border-color:#084e2d;box-shadow:0 0 0 2px #03c75a2e,0 0 0 4px #0f4fb33d}.admin-user-field{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-1);background:#fff;min-height:48px}.admin-user-field-group{border:1px solid var(--border);border-radius:var(--radius-1);background:#fff;overflow:hidden}.admin-user-field-group.is-error{border-color:#dc2626d9}.admin-user-field-row{display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:48px}.admin-user-field-row+.admin-user-field-row{border-top:1px solid var(--border)}.admin-user-field-row.is-error .admin-user-field__icon{color:#dc2626}.admin-user-field-row.is-error .admin-user-field__input{color:#b91c1c}.admin-user-field-row.is-error .admin-user-field__input::placeholder{color:#dc2626}.admin-user-field.is-error{border-color:#dc2626d9}.admin-user-field__icon{width:20px;height:20px;color:#94a3b8;display:inline-flex;align-items:center;justify-content:center}.admin-user-field.is-error .admin-user-field__icon{color:#dc2626}.admin-user-field__input,.admin-user-field__select{flex:1;min-width:0;border:0;outline:none;background:transparent;font-size:16px;line-height:1.4;padding:0;color:var(--text)}.admin-user-field.is-error .admin-user-field__input,.admin-user-field.is-error .admin-user-field__select{color:#b91c1c}.admin-user-field__input::placeholder{color:#94a3b8}.admin-user-field__select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:22px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23506354' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;background-size:12px 8px}@media(min-width:768px)and (max-width:1366px){:root{--depth-font-size: clamp(14px, 1.35vw, 18px)}body{font-size:clamp(15px,1.28vw,18px)}.page-title{font-size:clamp(18px,1.75vw,24px)}.btn,.btn-sm,.input,.select,.action-btn{font-size:clamp(15px,1.2vw,18px);min-height:clamp(48px,5.2vh,58px)}.chip,.badge,.project-meta-text,.network-banner-message,.muted{font-size:clamp(13px,1vw,16px)}.project-title{font-size:clamp(16px,1.35vw,20px)}.topbar-inner,.network-banner-inner,.pwa-install-banner-inner{padding-left:clamp(16px,2vw,24px);padding-right:clamp(16px,2vw,24px)}.container{padding-left:clamp(16px,2.2vw,26px);padding-right:clamp(16px,2.2vw,26px)}.login-shell{min-height:calc(100dvh - 92px);padding-top:0;padding-bottom:0}.login-card{width:min(720px,100%);padding:clamp(22px,2.4vw,34px)}.login-card .input,.login-card .btn{min-height:clamp(56px,5.6vh,66px);font-size:clamp(17px,1.45vw,22px);padding-top:clamp(13px,1.2vw,18px);padding-bottom:clamp(13px,1.2vw,18px)}.admin-user-form .input,.admin-user-form select.input{min-height:clamp(48px,5.2vh,58px)}.topbar .icon-btn,.topbar .topbar-sync-btn{width:clamp(48px,5.2vh,58px);min-width:clamp(48px,5.2vh,58px);height:clamp(48px,5.2vh,58px);min-height:clamp(48px,5.2vh,58px)}.topbar .topbar-text-btn{height:clamp(48px,5.2vh,58px);min-height:clamp(48px,5.2vh,58px);padding:0 clamp(14px,1.4vw,18px)}.depth-text-tablet{font-size:var(--depth-font-size)}}.admin-user-field__select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:22px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23506354' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;background-size:12px 8px}.admin-user-role-field{align-items:flex-start}.admin-user-role-group{flex:1;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.role-chip{border:1px solid var(--border);background:#f9fffb;color:var(--text);border-radius:0;margin-left:-1px;padding:6px 8px;min-height:40px;width:100%;text-align:center;font-size:12px;line-height:1.1;font-weight:600;white-space:nowrap;word-break:keep-all;cursor:pointer;position:relative;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}.role-chip:first-child{margin-left:0;border-top-left-radius:var(--radius-1);border-bottom-left-radius:var(--radius-1)}.role-chip:last-child{border-top-right-radius:var(--radius-1);border-bottom-right-radius:var(--radius-1)}.role-chip:hover:not(:disabled){border-color:#1565d873;background:#f1faf5}.role-chip.is-selected{border-color:var(--primary);color:var(--primary-strong);background:#eaf5ee;box-shadow:0 0 0 1px #1565d833;z-index:1}.role-chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.admin-user-form select.input{width:100%;min-height:44px;padding:12px;line-height:1.4}.admin-user-create-error{margin-bottom:8px;font-size:13px;font-weight:600;line-height:1.35}.admin-user-password-rules{margin:0;font-size:13px;line-height:1.35}.post-upload-confirm-modal{width:min(380px,92vw)}.post-upload-confirm-body{position:relative;min-height:48px}.post-upload-confirm-save{position:absolute;top:0;right:0;width:124px;min-width:124px;max-width:124px;height:44px;min-height:44px;max-height:44px;flex:0 0 124px;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;white-space:nowrap;padding:0 10px}.post-upload-confirm-no{width:124px;min-width:124px;max-width:124px;height:44px;min-height:44px;max-height:44px;flex:0 0 124px;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;white-space:nowrap;padding:0 10px}.post-upload-confirm-text{text-align:left;padding-top:6px;padding-right:138px;white-space:nowrap}.depth2-inline-group{border-top:1px solid var(--border);padding:6px 0;background:transparent}.depth2-inline-group{width:100%;max-width:100%;min-width:0;overflow-x:hidden}.depth2-inline-group>*{min-width:0;max-width:100%}.depth2-inline-group .row>*{min-width:0}.thumbs.depth2-thumbs-scroll,.depth2-inline-group .thumbs.depth2-thumbs-scroll{width:100%;max-width:100%;min-width:0;display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden}.thumbs.depth2-thumbs-scroll>*,.depth2-inline-group .thumbs.depth2-thumbs-scroll>*{flex:0 0 auto}.depth2-inline-group .row{margin-bottom:6px}.depth2-inline-group .chip{min-width:18px;padding:1px 6px;font-size:11px}.depth2-thumbs-scroll{display:flex;flex-direction:row;gap:8px;overflow-x:auto;overflow-y:hidden;padding:2px 0 4px;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.depth2-thumbs-scroll .thumb{flex:0 0 auto;width:88px;height:88px;object-fit:cover;display:block;border-radius:6px;border:1px solid var(--border);background:#eef2f7}.camera-capture-toast{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:12;padding:6px 10px;border-radius:999px;background:#16a34af0;border:1px solid rgba(187,247,208,.85);color:#fff;font-size:12px;font-weight:800;line-height:1}.camera-overlay-top-right{position:absolute;top:12px;right:12px;z-index:9}.camera-switch{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.26);background:#00000073;color:#fff;font-size:12px;line-height:1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.camera-switch input{margin:0}.camera-switch__label{font-weight:700}.camera-switch__state{opacity:.9;font-weight:800;min-width:22px;text-align:center}.camera-overlay-zoom{position:absolute;right:8px;bottom:calc(260px + env(safe-area-inset-bottom));z-index:10;width:132px;height:34px;display:flex;align-items:center;justify-content:center;transform:rotate(-90deg);transform-origin:bottom right}.camera-zoom-slider{width:132px;margin:0;accent-color:#fff;cursor:pointer}.camera-flash-toggle{position:absolute;right:calc(12px + env(safe-area-inset-right));bottom:calc(78px + env(safe-area-inset-bottom));z-index:11;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.26);background:#00000073;color:#fff;display:inline-flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.camera-flash-toggle:disabled{opacity:.45}@media(max-width:900px){.camera-overlay-top-right{top:10px;right:calc(10px + env(safe-area-inset-right))}.camera-overlay-zoom{right:4px;bottom:calc(244px + env(safe-area-inset-bottom));width:118px}.camera-zoom-slider{width:118px}.camera-flash-toggle{right:calc(10px + env(safe-area-inset-right));bottom:calc(76px + env(safe-area-inset-bottom))}.camera-switch{padding:5px 8px;gap:5px;font-size:11px}}.photo-preview-backdrop{padding:0;align-items:stretch;justify-content:stretch;z-index:80}.modal.photo-preview-modal{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;max-height:none;border-radius:0;padding:10px 10px calc(10px + env(safe-area-inset-bottom));overflow:hidden;display:flex;flex-direction:column}.modal.photo-preview-modal .modal__body{min-height:0}.photo-preview-layout{display:grid;gap:10px;min-height:0;height:100%;grid-template-rows:auto minmax(0,1fr) auto auto}.photo-preview-toolbar{display:grid;grid-template-columns:auto minmax(180px,1fr);gap:8px;align-items:center}.photo-preview-counter{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border:1px solid var(--border);border-radius:4px;font-weight:800;background:#fff}.photo-preview-filter-wrap{min-width:0}.photo-preview-filter-wrap .input{width:100%}.photo-preview-stage{position:relative;background:#000;border-radius:8px;overflow:hidden;min-height:0;height:100%;display:flex;align-items:center;justify-content:center}.photo-preview-image{width:100%;height:100%;object-fit:contain;object-position:center center;background:#000;display:block;margin:auto}.photo-preview-overlay-top{position:absolute;top:0;left:0;right:0;z-index:3;padding:10px;background:linear-gradient(180deg,#000000a6,#0000)}.photo-preview-actions{display:flex;gap:8px;align-items:stretch;width:100%}.photo-preview-actions>.btn{flex:1 1 0;min-width:0;justify-content:center}.photo-preview-tag-btn--good{background:#16a34a;border-color:#16a34a;color:#fff}.photo-preview-tag-btn--bad{background:#dc2626;border-color:#dc2626;color:#fff}.photo-preview-save-btn{background:#16a34a;border-color:#16a34a;color:#fff}.photo-preview-tag-btn{color:#fff}.photo-preview-tag-btn.is-active{box-shadow:inset 0 0 0 2px #fffffff5,0 0 0 2px #ffffff24;filter:saturate(1.12) brightness(1.02)}.photo-preview-tag-btn--bad.is-active{box-shadow:inset 0 0 0 2px #ffffffeb}.photo-preview-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:40px;height:40px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:#00000073;color:#fff;display:inline-flex;align-items:center;justify-content:center}.photo-preview-nav:disabled{opacity:.35}.photo-preview-nav--left{left:10px}.photo-preview-nav--right{right:10px}.camera-switch--button{cursor:pointer}.camera-switch--button.is-on{background:#2563ebeb;border-color:#93c5fdf2}.camera-icon-btn{position:absolute;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:9;width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.26);background:#00000073;color:#fff;display:inline-flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@media(max-width:900px){.photo-preview-toolbar{grid-template-columns:1fr}.camera-icon-btn{right:10px;bottom:calc(76px + env(safe-area-inset-bottom))}}.modal.photo-preview-modal .modal__header{margin-bottom:8px;flex:0 0 auto}.modal.photo-preview-modal .modal__body{flex:1 1 auto;min-height:0;overflow:hidden}@media(max-width:900px){.modal.photo-preview-modal{padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.photo-preview-actions{gap:6px;flex-wrap:nowrap}.photo-preview-nav{width:36px;height:36px}}.camera-capture-btn{min-width:120px;transition:transform 55ms ease,filter 70ms ease,box-shadow 70ms ease,outline-color 70ms ease}.camera-capture-btn:hover:not(:disabled){filter:brightness(.98);box-shadow:0 0 0 2px #ffffff29 inset,0 4px 10px #0000002e}.camera-capture-btn:active,.camera-capture-btn.is-pressed{transform:scale(.97);filter:brightness(.9);box-shadow:inset 0 0 0 3px #ffffff47,0 1px 4px #00000040}.depth2-inline-group .row,.depth2-inline-group .muted{max-width:100%;min-width:0}.depth2-inline-group .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.depth2-thumbs-scroll,.drilldown-embedded-container,.drilldown-embedded-container .card,.drilldown-embedded-container .accordion-panel,.drilldown-embedded-container .accordion-panel-inner{max-width:100%}.camera-action-bar--portrait{flex-direction:row}.camera-action-bar--landscape{left:auto;right:calc(8px + env(safe-area-inset-right));top:50%;bottom:auto;transform:translateY(-50%);width:104px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:10px;padding:0}.camera-action-bar--landscape .btn{min-width:0;width:100%}.modal.camera-modal.camera-modal--landscape .modal__footer{left:auto;right:0;top:0;bottom:0;width:calc(124px + env(safe-area-inset-right));border-top:none;background:linear-gradient(90deg,#00000014,#00000073)}.camera-modal-content--landscape{padding-right:calc(130px + env(safe-area-inset-right));padding-bottom:calc(12px + env(safe-area-inset-bottom))}.modal.camera-modal.camera-modal--landscape .camera-overlay-top-right{right:calc(126px + env(safe-area-inset-right));top:12px}.modal.camera-modal.camera-modal--landscape .camera-overlay-zoom{right:calc(110px + env(safe-area-inset-right));bottom:auto;top:50%;transform:translateY(-62px) rotate(-90deg)}.modal.camera-modal.camera-modal--landscape .camera-flash-toggle{right:calc(136px + env(safe-area-inset-right));bottom:auto;top:50%;transform:translateY(24px)}.camera-overlay-zoom{right:10px;bottom:calc(248px + env(safe-area-inset-bottom))}.camera-flash-toggle{right:calc(13px + env(safe-area-inset-right));bottom:calc(92px + env(safe-area-inset-bottom))}.camera-capture-btn.btn-primary{color:#fff;border-color:var(--primary-strong);background:linear-gradient(180deg,var(--primary) 0%,var(--primary-strong) 100%)}.camera-capture-btn:active:not(:disabled),.camera-capture-btn.is-pressed:not(:disabled){color:#fff;background:linear-gradient(180deg,var(--primary) 0%,var(--primary-strong) 100%)}@media(max-width:900px){.camera-action-bar--landscape{width:96px;right:calc(6px + env(safe-area-inset-right));gap:8px}.modal.camera-modal.camera-modal--landscape .modal__footer{width:calc(112px + env(safe-area-inset-right))}.camera-modal-content--landscape{padding-right:calc(116px + env(safe-area-inset-right))}.modal.camera-modal.camera-modal--landscape .camera-overlay-top-right{right:calc(112px + env(safe-area-inset-right))}.modal.camera-modal.camera-modal--landscape .camera-overlay-zoom{right:calc(98px + env(safe-area-inset-right));transform:translateY(-58px) rotate(-90deg)}.modal.camera-modal.camera-modal--landscape .camera-flash-toggle{right:calc(122px + env(safe-area-inset-right));transform:translateY(22px)}.camera-overlay-zoom{right:6px;bottom:calc(238px + env(safe-area-inset-bottom))}.camera-flash-toggle{right:calc(10px + env(safe-area-inset-right));bottom:calc(86px + env(safe-area-inset-bottom))}}.photo-preview-tag-btn{font-weight:800}.photo-preview-tag-btn--good:hover:not(:disabled),.photo-preview-tag-btn--good.is-active{background:#16a34a;border-color:#16a34a;color:#fff}.photo-preview-tag-btn--bad:hover:not(:disabled),.photo-preview-tag-btn--bad.is-active{background:#dc2626;border-color:#dc2626;color:#fff}.photo-preview-tag-btn.is-active{box-shadow:inset 0 0 0 2px #fffffff2,0 0 0 2px #0000002e;filter:none}.photo-preview-tag-btn{position:relative;min-height:44px;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.photo-preview-tag-btn:hover:not(:disabled){filter:brightness(1.05)}.photo-preview-tag-btn.is-active{color:#fff!important;box-shadow:inset 0 0 0 2px #fffffff5,0 0 0 2px #ffffff38,0 8px 18px #00000038;transform:translateY(1px)}.photo-preview-tag-btn.is-active:after{content:"✓";position:absolute;top:50%;right:10px;transform:translateY(-50%);width:18px;height:18px;border-radius:999px;background:#fff3;border:1px solid rgba(255,255,255,.75);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;font-weight:900}.photo-preview-depth3-strip-wrap{position:absolute;left:0;right:0;bottom:0;z-index:3;width:100%;overflow:hidden;padding:10px;background:linear-gradient(0deg,#000000b8,#0000)}.photo-preview-depth3-strip{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 4px;-webkit-overflow-scrolling:touch}.photo-preview-depth3-btn{flex:0 0 auto;min-width:84px;border:1px solid rgba(220,236,226,.95);background:#f1fbf5f5;color:#173622;font-weight:800}.photo-preview-depth3-btn:hover:not(:disabled){border-color:#4f8d67;background:#e7f5ec}.photo-preview-depth3-btn.is-active{border-color:#0b7a3d;background:#bfead0;color:#0d3b22!important;box-shadow:inset 0 0 0 2px #0b7a3d59,0 2px 8px #00000014;transform:translateY(1px)}.photo-preview-depth3-btn.is-active:before{content:"✓";font-weight:900}.categories-mobile-pwa-hint{font-size:13px;font-weight:600;color:var(--text);border-color:#1565d82e;background:#fffffff0}.camera-action-btn--close,.camera-action-btn--capture{order:0}.camera-action-bar--landscape .camera-action-btn--capture{order:1}.camera-action-bar--landscape .camera-action-btn--close{order:2}.camera-flash-notice{position:absolute;left:10px;right:56px;bottom:calc(88px + env(safe-area-inset-bottom));z-index:11;padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:#0000009e;color:#fff;font-size:11px;line-height:1.3}.photo-preview-layout--pc{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:minmax(0,1fr) auto auto;gap:10px;min-height:min(78vh,760px);height:min(78vh,760px)}.photo-preview-layout--pc .photo-preview-stage--pc{grid-column:1;grid-row:1;min-height:0;height:100%}.photo-preview-sidepanel{grid-column:2;grid-row:1;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:10px;overflow:hidden}.photo-preview-sidepanel-section{display:grid;gap:8px;min-height:0}.photo-preview-sidepanel-section--classify{grid-template-rows:auto minmax(0,1fr);overflow:hidden}.photo-preview-sidepanel-title{font-size:12px;font-weight:800;color:var(--muted)}.photo-preview-actions--pc{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-preview-depth3-list--pc{display:grid;gap:6px;overflow:auto;padding-right:2px}.photo-preview-depth3-btn--pc{width:100%;min-width:0;white-space:normal;text-align:left;justify-content:flex-start}.photo-preview-nav-row--pc{display:grid;grid-template-columns:auto minmax(90px,1fr) auto;gap:8px;align-items:center}.photo-preview-counter--pc{min-width:0}.photo-preview-layout--pc .photo-preview-meta-line,.photo-preview-layout--pc .photo-preview-meta-stack{grid-column:1 / 3}.photo-preview-meta-stack{display:grid;align-content:start;gap:2px;min-height:34px}.photo-preview-meta-line{min-height:16px;line-height:1.25}@media(min-width:1025px)and (pointer:fine){.photo-preview-layout--pc .photo-preview-overlay-top,.photo-preview-layout--pc .photo-preview-nav,.photo-preview-layout--pc .photo-preview-depth3-strip-wrap{display:none}}@media(max-width:1024px),(pointer:coarse){.photo-preview-layout--pc{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto auto;height:100%;min-height:0}.photo-preview-sidepanel{display:none}.photo-preview-layout--pc .photo-preview-meta-line{grid-column:auto}}.photo-preview-depth3-btn{position:relative;transition:transform .1s ease,filter .12s ease,box-shadow .12s ease,background-color .12s ease,border-color .12s ease;touch-action:manipulation}.photo-preview-depth3-btn.is-pressed:not(:disabled),.photo-preview-depth3-btn:active:not(:disabled){transform:scale(.98);filter:brightness(.95);box-shadow:inset 0 1px #fff6,0 1px 4px #0000002e}.photo-preview-depth3-btn-label{display:grid;gap:2px;align-items:center;justify-items:center;width:100%;line-height:1.1}.photo-preview-depth3-btn-label .d3-title,.photo-preview-depth3-btn-label .d3-sub{display:block;width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-preview-depth3-btn-label .d3-title{font-weight:800}.photo-preview-depth3-btn-label .d3-sub{opacity:.88;font-weight:700}@media(max-width:1024px),(pointer:coarse){.photo-preview-depth3-strip{display:grid;grid-template-columns:repeat(var(--mobile-preview-cols, 4),minmax(0,1fr));grid-template-rows:repeat(var(--mobile-preview-rows, 1),minmax(52px,auto));gap:6px;overflow-x:hidden;overflow-y:auto;max-height:114px;padding-right:0}.photo-preview-depth3-strip-wrap{padding:8px 10px 10px}.photo-preview-depth3-btn--back{border-style:dashed;background:#fffffff5}.photo-preview-depth3-btn--branch{background:#eff8f2f7}.photo-preview-depth3-btn--branch.is-active{background:#cfeedd}.photo-preview-depth3-strip{gap:6px}.photo-preview-depth3-btn{flex:0 0 auto;width:100%;min-width:0;min-height:52px;padding:6px 8px;white-space:normal;text-align:center;justify-content:center;align-items:center}.photo-preview-depth3-btn:hover:not(:disabled){border-color:#5f9877;background:#eaf7ef}.photo-preview-depth3-btn.is-active{border-color:#0b7a3d;background:#cfeedd;box-shadow:inset 0 0 0 2px #0b7a3d47,0 3px 10px #0000001f}.photo-preview-depth3-btn.is-active:before{content:none}.photo-preview-depth3-btn-label .d3-title{font-size:12px}.photo-preview-depth3-btn-label .d3-sub{font-size:10px}}@media(min-width:1025px)and (pointer:fine){.photo-preview-depth3-btn--pc.is-active:before{content:"✓";font-weight:900}}html.pwa-standalone-mobile,body.pwa-standalone-mobile{overscroll-behavior-y:none;background:var(--bg)!important;background-image:none!important}.ptr-indicator{position:fixed;left:50%;top:0;z-index:1400;pointer-events:none;opacity:0;transition:opacity .12s ease,transform .12s ease}.ptr-indicator.is-visible{opacity:1}.ptr-indicator:before{content:none}.ptr-pill{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:6px 10px;border-radius:999px;border:1px solid rgba(21,101,216,.18);background:#fffffff0;box-shadow:0 8px 18px #071e101f;color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ptr-ring{width:22px;height:22px;display:block;transform:rotate(-90deg)}.ptr-ring__track,.ptr-ring__progress{fill:none;stroke-width:3}.ptr-ring__track{stroke:#1565d82e}.ptr-ring__progress{stroke:var(--primary);stroke-linecap:round;transition:stroke-dashoffset 90ms linear}.ptr-indicator.is-refreshing .ptr-ring__progress{animation:ptr-spin .9s linear infinite;transform-origin:50% 50%}.ptr-label{font-size:12px;font-weight:700;line-height:1;white-space:nowrap}@keyframes ptr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(min-width:1025px)and (pointer:fine){.ptr-indicator{display:none}}.photo-preview-tag-btn{min-height:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.photo-preview-tag-btn.is-readonly{opacity:.92}.photo-preview-depth3-btn{position:relative;overflow:visible}.photo-preview-depth3-btn.is-active:after{z-index:2;pointer-events:none;content:"✓";position:absolute;top:5px;right:6px;width:15px;height:15px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1;color:#fff;background:#0b7a3deb;border:1px solid rgba(255,255,255,.92);box-shadow:0 1px 4px #00000029}.photo-preview-depth3-btn--pc.is-active:after{top:50%;right:8px;transform:translateY(-50%)}.photo-preview-depth3-btn.is-readonly{opacity:.95}@media(max-width:1024px),(pointer:coarse){.photo-preview-depth3-btn{height:auto;min-height:52px}.photo-preview-depth3-btn--branch .d3-sub{font-size:9px}.photo-preview-depth3-btn--branch .d3-title{font-size:11px}.photo-preview-depth3-btn--branch .d3-sub{white-space:normal;line-height:1.05}.photo-preview-depth3-btn--branch .d3-sub,.photo-preview-depth3-btn--leaf .d3-sub,.photo-preview-depth3-btn--back .d3-sub{overflow:visible;text-overflow:clip}.photo-preview-depth3-btn--branch.is-active:after{top:4px;right:4px}.photo-preview-depth3-btn--branch .d3-sub,.photo-preview-depth3-btn--back .d3-sub{font-size:9px}.photo-preview-depth3-btn--branch .d3-sub,.photo-preview-depth3-btn--back .d3-sub,.photo-preview-depth3-btn--leaf .d3-sub{max-height:2.2em}.photo-preview-depth3-btn--branch.photo-preview-depth3-btn--branch-b1-5 .d3-sub{font-size:8px;letter-spacing:-.01em}.camera-action-bar{position:absolute;left:50%;right:auto;bottom:calc(10px + env(safe-area-inset-bottom));transform:translate(-50%);gap:10px;padding:0}.camera-action-bar .btn{min-width:112px;min-height:46px}.modal.camera-modal .modal__footer{position:absolute;top:0;right:0;bottom:0;left:0;padding:0;margin:0;border:0;background:transparent;pointer-events:none}.camera-action-bar{pointer-events:auto}.camera-modal-content{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.camera-overlay-zoom{right:calc(10px + env(safe-area-inset-right));bottom:calc(186px + env(safe-area-inset-bottom));width:106px}.camera-zoom-slider{width:106px}.camera-flash-toggle{right:calc(10px + env(safe-area-inset-right));bottom:calc(96px + env(safe-area-inset-bottom));width:42px;height:42px}.camera-capture-btn.btn-primary:hover:not(:disabled){filter:none;background:linear-gradient(180deg,var(--primary) 0%,var(--primary-strong) 100%);box-shadow:0 2px 10px #0f4fb338}}.modal.camera-modal.camera-modal--landscape .modal__footer{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;border:0;background:transparent;pointer-events:none}.camera-action-bar--landscape{pointer-events:auto;left:auto;right:calc(8px + env(safe-area-inset-right));top:50%;bottom:auto;transform:translateY(-50%);width:94px;display:flex;flex-direction:column;gap:8px}.camera-modal-content--landscape{padding-right:calc(104px + env(safe-area-inset-right))}.modal.camera-modal.camera-modal--landscape .camera-overlay-top-right{right:calc(104px + env(safe-area-inset-right))}.modal.camera-modal.camera-modal--landscape .camera-overlay-zoom{right:calc(94px + env(safe-area-inset-right));top:50%;bottom:auto;transform:translateY(-92px) rotate(-90deg)}.modal.camera-modal.camera-modal--landscape .camera-flash-toggle{right:calc(114px + env(safe-area-inset-right));top:50%;bottom:auto;transform:translateY(48px)}@media(max-width:1024px),(pointer:coarse){.modal.camera-modal .camera-flash-toggle{right:calc(10px + env(safe-area-inset-right))!important;bottom:calc(84px + env(safe-area-inset-bottom))!important;z-index:12}.modal.camera-modal .camera-overlay-zoom{right:calc(10px + env(safe-area-inset-right))!important;bottom:calc(188px + env(safe-area-inset-bottom))!important;width:106px!important;z-index:11}.modal.camera-modal .camera-zoom-slider{width:106px!important}}.modal.camera-modal.camera-modal--landscape .camera-flash-toggle{right:calc(114px + env(safe-area-inset-right))!important;top:50%!important;bottom:auto!important;transform:translateY(62px)!important;z-index:12}.modal.camera-modal.camera-modal--landscape .camera-overlay-zoom{right:calc(96px + env(safe-area-inset-right))!important;top:50%!important;bottom:auto!important;transform:translateY(-110px) rotate(-90deg)!important;z-index:11}@media(max-width:430px)and (max-height:900px)and (pointer:coarse){.modal.camera-modal .camera-flash-toggle{right:calc(10px + env(safe-area-inset-right))!important;bottom:calc(84px + env(safe-area-inset-bottom))!important;width:40px!important;height:40px!important}.modal.camera-modal .camera-overlay-zoom{right:calc(10px + env(safe-area-inset-right))!important;bottom:calc(214px + env(safe-area-inset-bottom))!important;width:92px!important;transform:rotate(-90deg)!important}.modal.camera-modal .camera-zoom-slider{width:92px!important}}@media(max-width:900px)and (orientation:landscape)and (pointer:coarse){.modal.camera-modal.camera-modal--landscape .camera-flash-toggle{right:calc(116px + env(safe-area-inset-right))!important;transform:translateY(76px)!important}.modal.camera-modal.camera-modal--landscape .camera-overlay-zoom{right:calc(98px + env(safe-area-inset-right))!important;transform:translateY(-126px) rotate(-90deg)!important;width:88px!important}.modal.camera-modal.camera-modal--landscape .camera-zoom-slider{width:88px!important}}@media(max-width:1024px),(pointer:coarse){.modal.camera-modal{--cam-ctrl-right: calc(clamp(10px, 2.8vw, 14px) + env(safe-area-inset-right)) ;--cam-ctrl-bottom: calc(clamp(78px, 11vh, 104px) + env(safe-area-inset-bottom)) ;--cam-ctrl-gap: clamp(62px, 11vh, 92px);--cam-zoom-len: clamp(88px, 24vw, 132px)}.modal.camera-modal:not(.camera-modal--landscape) .camera-flash-toggle{right:var(--cam-ctrl-right)!important;bottom:var(--cam-ctrl-bottom)!important;top:auto!important;left:auto!important;transform:none!important;z-index:13}.modal.camera-modal:not(.camera-modal--landscape) .camera-overlay-zoom{right:calc(var(--cam-ctrl-right) + clamp(14px,4vw,20px))!important;bottom:calc(var(--cam-ctrl-bottom) + var(--cam-ctrl-gap))!important;top:auto!important;left:auto!important;width:var(--cam-zoom-len)!important;transform:rotate(-90deg)!important;transform-origin:bottom right!important;z-index:12}.modal.camera-modal:not(.camera-modal--landscape) .camera-zoom-slider{width:var(--cam-zoom-len)!important}.modal.camera-modal.camera-modal--landscape{--cam-side-col: clamp(92px, 17vw, 116px);--cam-side-right: calc(clamp(8px, 2vw, 12px) + env(safe-area-inset-right)) ;--cam-side-zoom-len: clamp(86px, 18vh, 118px)}.modal.camera-modal.camera-modal--landscape .camera-modal-content--landscape{padding-right:calc(var(--cam-side-col) + 12px + env(safe-area-inset-right))!important}.modal.camera-modal.camera-modal--landscape .camera-overlay-top-right{right:calc(var(--cam-side-col) + 8px + env(safe-area-inset-right))!important}.modal.camera-modal.camera-modal--landscape .camera-overlay-zoom{right:calc(var(--cam-side-right) + 6px)!important;top:42%!important;bottom:auto!important;left:auto!important;width:var(--cam-side-zoom-len)!important;transform:translateY(-50%) rotate(-90deg)!important;transform-origin:bottom right!important;z-index:12}.modal.camera-modal.camera-modal--landscape .camera-zoom-slider{width:var(--cam-side-zoom-len)!important}.modal.camera-modal.camera-modal--landscape .camera-flash-toggle{right:var(--cam-side-right)!important;top:61%!important;bottom:auto!important;left:auto!important;transform:translateY(-50%)!important;z-index:13}}@media(max-width:1024px),(pointer:coarse){.photo-preview-depth3-btn.is-active{border-color:#0a5c2f!important;background:linear-gradient(180deg,#0e6638fa,#084c29fa)!important;box-shadow:inset 0 0 0 1px #ffffff1f,0 6px 14px #00000047!important;color:#fff!important}.photo-preview-depth3-btn.is-active .d3-title,.photo-preview-depth3-btn.is-active .d3-sub{color:#fff!important;opacity:1!important;text-shadow:0 1px 2px rgba(0,0,0,.28)}.photo-preview-depth3-btn.is-active.is-pressed:not(:disabled),.photo-preview-depth3-btn.is-active:active:not(:disabled){filter:brightness(.92)!important}}@media(max-width:1024px),(pointer:coarse){.modal.camera-modal{--cam-footer-height: calc(92px + env(safe-area-inset-bottom)) ;--cam-edge: calc(12px + env(safe-area-inset-right)) ;--cam-flash-size: 42px;--cam-zoom-len: clamp(88px, 24vw, 124px);--cam-zoom-gap-y: clamp(26px, 4vh, 38px);--cam-zoom-shift-x: clamp(16px, 4vw, 24px)}.modal.camera-modal .modal__footer{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:auto!important;min-height:var(--cam-footer-height);padding:12px 14px calc(22px + env(safe-area-inset-bottom)) 14px!important;border-top:1px solid rgba(0,0,0,.08)!important;background:#f5f7f6fa!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center}.modal.camera-modal .modal__footer .row,.modal.camera-modal .modal__footer .row.row-wrap{width:min(100%,320px);margin:0 auto;gap:12px;align-items:center;justify-content:center;flex-wrap:nowrap}.modal.camera-modal .modal__footer .btn{flex:1 1 0;min-width:0;min-height:48px}.modal.camera-modal:not(.camera-modal--landscape) .camera-modal-content{padding-bottom:calc(var(--cam-footer-height) + 8px)!important}.modal.camera-modal:not(.camera-modal--landscape) .camera-flash-toggle{width:var(--cam-flash-size)!important;height:var(--cam-flash-size)!important;right:var(--cam-edge)!important;left:auto!important;bottom:calc(var(--cam-footer-height) + 10px)!important;top:auto!important;transform:none!important;z-index:14!important}.modal.camera-modal:not(.camera-modal--landscape) .camera-overlay-zoom{right:calc(var(--cam-edge) + var(--cam-zoom-shift-x))!important;left:auto!important;bottom:calc(var(--cam-footer-height) + 10px + var(--cam-flash-size) + var(--cam-zoom-gap-y) + 8px)!important;top:auto!important;width:var(--cam-zoom-len)!important;transform:rotate(-90deg)!important;transform-origin:bottom right!important;z-index:13!important}.modal.camera-modal:not(.camera-modal--landscape) .camera-zoom-slider{width:var(--cam-zoom-len)!important}.modal.camera-modal.camera-modal--landscape{--cam-side-col: clamp(98px, 18vw, 120px);--cam-side-edge: calc(8px + env(safe-area-inset-right)) ;--cam-side-zoom-len: clamp(84px, 18vh, 116px)}.modal.camera-modal.camera-modal--landscape .modal__footer{left:auto!important;right:0!important;top:0!important;bottom:0!important;width:calc(var(--cam-side-col) + env(safe-area-inset-right))!important;min-height:0;padding:calc(14px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) 10px!important;border-top:none!important;border-left:1px solid rgba(0,0,0,.08)!important;background:#f5f7f6f5!important;align-items:flex-end}.modal.camera-modal.camera-modal--landscape .modal__footer .row,.modal.camera-modal.camera-modal--landscape .modal__footer .row.row-wrap{width:100%;max-width:none;display:grid;grid-template-columns:1fr;gap:10px}.modal.camera-modal.camera-modal--landscape .camera-modal-content--landscape{padding-right:calc(var(--cam-side-col) + 14px + env(safe-area-inset-right))!important;padding-bottom:calc(10px + env(safe-area-inset-bottom))!important}.modal.camera-modal.camera-modal--landscape .camera-overlay-top-right{right:calc(var(--cam-side-col) + 10px + env(safe-area-inset-right))!important}.modal.camera-modal.camera-modal--landscape .camera-flash-toggle{right:calc(var(--cam-side-edge) + 10px)!important;left:auto!important;top:64%!important;bottom:auto!important;transform:translateY(-50%)!important;z-index:14!important}.modal.camera-modal.camera-modal--landscape .camera-overlay-zoom{right:calc(var(--cam-side-edge) + 2px)!important;left:auto!important;top:42%!important;bottom:auto!important;width:var(--cam-side-zoom-len)!important;transform:translateY(-50%) rotate(-90deg)!important;transform-origin:bottom right!important;z-index:13!important}.modal.camera-modal.camera-modal--landscape .camera-zoom-slider{width:var(--cam-side-zoom-len)!important}}@media(max-width:1024px),(pointer:coarse){.modal.camera-modal{--cam-footer-h: calc(78px + env(safe-area-inset-bottom)) ;--cam-dock-edge: calc(10px + env(safe-area-inset-right)) ;--cam-dock-bottom: calc(var(--cam-footer-h) + 10px);--cam-dock-gap: 12px;--cam-flash-size: 42px;--cam-zoom-len: clamp(92px, 24vw, 126px)}.modal.camera-modal .modal__footer{min-height:var(--cam-footer-h)!important;padding:10px 12px calc(10px + max(env(safe-area-inset-bottom),10px)) 12px!important;background:#f5f7f6fa!important}.modal.camera-modal .modal__footer .row,.modal.camera-modal .modal__footer .row.row-wrap{width:min(100%,300px)!important}.modal.camera-modal .modal__footer .btn{min-height:46px!important}.modal.camera-modal:not(.camera-modal--landscape) .camera-modal-content{padding-bottom:calc(var(--cam-footer-h) + 8px)!important}.modal.camera-modal .camera-overlay-right-dock{position:absolute;z-index:14;display:flex;flex-direction:column;align-items:center;gap:var(--cam-dock-gap);pointer-events:auto}.modal.camera-modal:not(.camera-modal--landscape) .camera-overlay-right-dock{right:var(--cam-dock-edge);bottom:var(--cam-dock-bottom);left:auto;top:auto}.modal.camera-modal .camera-overlay-right-dock .camera-overlay-zoom{position:relative!important;right:auto!important;left:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:34px!important;height:var(--cam-zoom-len)!important;display:flex!important;align-items:center;justify-content:center;margin:0!important;z-index:2!important}.modal.camera-modal .camera-overlay-right-dock .camera-zoom-slider{position:absolute;left:50%;top:50%;width:var(--cam-zoom-len)!important;margin:0;transform:translate(-50%,-50%) rotate(-90deg);transform-origin:center center}.modal.camera-modal .camera-overlay-right-dock .camera-flash-toggle{position:relative!important;right:auto!important;left:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:var(--cam-flash-size)!important;height:var(--cam-flash-size)!important;margin:0!important;z-index:1!important}.modal.camera-modal.camera-modal--landscape{--cam-side-col: clamp(98px, 18vw, 120px);--cam-side-zoom-len: clamp(84px, 17vh, 112px)}.modal.camera-modal.camera-modal--landscape .modal__footer{width:calc(var(--cam-side-col) + env(safe-area-inset-right))!important;padding:calc(12px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(12px + max(env(safe-area-inset-bottom),8px)) 10px!important}.modal.camera-modal.camera-modal--landscape .camera-modal-content--landscape{padding-right:calc(var(--cam-side-col) + 14px + env(safe-area-inset-right))!important}.modal.camera-modal.camera-modal--landscape .camera-overlay-right-dock{right:calc(10px + env(safe-area-inset-right));top:44%;bottom:auto;left:auto;transform:translateY(-50%);gap:10px}.modal.camera-modal.camera-modal--landscape .camera-overlay-right-dock .camera-overlay-zoom{height:var(--cam-side-zoom-len)!important}.modal.camera-modal.camera-modal--landscape .camera-overlay-right-dock .camera-zoom-slider{width:var(--cam-side-zoom-len)!important}.modal.camera-modal.camera-modal--landscape .camera-overlay-top-right{right:calc(var(--cam-side-col) + 10px + env(safe-area-inset-right))!important}}@media(max-width:1024px),(pointer:coarse){.modal.camera-modal{--cam-footer-h: calc(54px + env(safe-area-inset-bottom)) ;--cam-dock-gap: 34px}.modal.camera-modal .camera-action-bar,.modal.camera-modal .camera-action-bar--portrait,.modal.camera-modal .camera-action-bar--landscape{position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%!important;padding:0!important;margin:0!important;z-index:auto!important}.modal.camera-modal .modal__footer{align-items:flex-start!important;justify-content:center!important;min-height:var(--cam-footer-h)!important;padding-top:4px!important;padding-bottom:calc(4px + env(safe-area-inset-bottom))!important}.modal.camera-modal .modal__footer .row,.modal.camera-modal .modal__footer .row.row-wrap{width:min(100%,300px)!important;margin-top:0!important;margin-bottom:0!important}.modal.camera-modal:not(.camera-modal--landscape) .camera-overlay-right-dock{bottom:calc(var(--cam-footer-h) + 30px)!important;gap:var(--cam-dock-gap)!important}.modal.camera-modal .camera-overlay-right-dock .camera-overlay-zoom{overflow:visible;margin-right:14px!important;z-index:2!important}.modal.camera-modal .camera-overlay-right-dock .camera-flash-toggle{margin-top:14px!important;margin-right:-12px!important;z-index:1!important}.modal.camera-modal.camera-modal--landscape .modal__footer{align-items:stretch!important;justify-content:flex-start!important;padding-top:calc(12px + env(safe-area-inset-top))!important;padding-bottom:calc(12px + max(env(safe-area-inset-bottom),8px))!important}}.modal.modal--dialog{width:min(480px,100%)}.dialog-modal__message{white-space:pre-wrap;line-height:1.45;color:var(--text)}.dialog-modal__footer{align-items:center}.photo-preview-layout--pc{grid-template-columns:minmax(0,1fr) 288px;gap:8px;min-height:min(86vh,860px);height:min(86vh,860px)}.photo-preview-sidepanel{grid-row:1 / 3}.photo-preview-comment-panel{grid-column:1;grid-row:2;display:grid;gap:8px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:10px}.photo-preview-comment-textarea{width:100%;min-height:84px;resize:vertical}.photo-preview-comment-actions{align-items:center}.camera-action-btn--capture.camera-capture-btn{min-width:56px;width:56px;height:56px;min-height:56px;padding:0;border-radius:999px;border:2px solid rgba(255,255,255,.92);background:#ffffff14!important;box-shadow:0 6px 18px #00000047;display:inline-flex;align-items:center;justify-content:center;color:transparent;line-height:0}.camera-shutter-btn{width:40px;height:40px;border-radius:999px;background:#fff;border:1px solid rgba(15,23,42,.12);display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 -1px #00000014}.camera-shutter-btn__inner{width:38px;height:38px;border-radius:999px;background:linear-gradient(180deg,#fff,#f2f5f7);border:1px solid rgba(15,23,42,.08)}.camera-capture-btn:hover:not(:disabled) .camera-shutter-btn{transform:scale(.99)}.camera-capture-btn:active:not(:disabled) .camera-shutter-btn,.camera-capture-btn.is-pressed:not(:disabled) .camera-shutter-btn{transform:scale(.92)}.camera-capture-btn:disabled .camera-shutter-btn{opacity:.55}@media(max-width:1024px),(pointer:coarse){.modal.camera-modal .camera-action-bar .camera-action-btn--capture.camera-capture-btn{width:60px;height:60px;min-width:60px;min-height:60px}}.modal.camera-modal .camera-video-wrap .camera-overlay-right-dock{position:absolute!important;left:0!important;right:0!important;top:0!important;bottom:0!important;width:auto!important;height:auto!important;transform:none!important;pointer-events:none!important;display:block!important;z-index:14!important}.modal.camera-modal .camera-video-wrap .camera-overlay-right-dock .camera-overlay-zoom{position:absolute!important;left:calc(10px + env(safe-area-inset-left))!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;width:34px!important;height:var(--cam-zoom-len, 120px)!important;margin:0!important;pointer-events:auto!important;z-index:2!important}.modal.camera-modal .camera-video-wrap .camera-overlay-right-dock .camera-zoom-slider{width:var(--cam-zoom-len, 120px)!important}.modal.camera-modal .camera-video-wrap .camera-overlay-right-dock .camera-flash-toggle{position:absolute!important;right:calc(10px + env(safe-area-inset-right))!important;left:auto!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;top:auto!important;transform:none!important;margin:0!important;pointer-events:auto!important;z-index:3!important}@media(max-width:1024px),(pointer:coarse){.modal.camera-modal .camera-video-wrap .camera-overlay-right-dock .camera-overlay-zoom{left:calc(8px + env(safe-area-inset-left))!important;height:min(var(--cam-zoom-len, 120px),112px)!important}.modal.camera-modal .camera-video-wrap .camera-overlay-right-dock .camera-zoom-slider{width:min(var(--cam-zoom-len, 120px),112px)!important}.modal.camera-modal .camera-video-wrap .camera-overlay-right-dock .camera-flash-toggle{right:calc(8px + env(safe-area-inset-right))!important;bottom:calc(8px + env(safe-area-inset-bottom))!important}}.pwa-install-guide-note{font-size:12px;color:var(--muted);margin-top:8px}.modal.camera-modal{width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;padding:0!important;background:#000!important;overflow:hidden!important}.modal.camera-modal .modal__body{padding:0!important;background:#000!important;min-height:0!important}.modal.camera-modal .modal__footer{position:absolute!important;left:0!important;right:0!important;bottom:0!important;z-index:30!important;background:linear-gradient(180deg,#0000,#00000061 28%,#00000094)!important;border-top:none!important;padding:8px 12px calc(14px + env(safe-area-inset-bottom))!important;min-height:92px!important;pointer-events:none}.modal.camera-modal .modal__footer .camera-action-bar{width:100%;display:flex;justify-content:center;align-items:center;pointer-events:auto}.modal.camera-modal .camera-action-bar .camera-capture-btn{position:relative}.modal.camera-modal .camera-modal-content{width:100%;height:100dvh;min-height:100dvh;background:#000;overflow:hidden;touch-action:pan-y pinch-zoom}.modal.camera-modal .camera-modal-content>div{width:100%;height:100%}.modal.camera-modal .camera-video-wrap{height:100%!important;min-height:100%!important;border-radius:0!important;background:#000!important}.camera-ui-rotatable{transform-origin:center center;will-change:transform}.modal.camera-modal .camera-video-wrap .camera-overlay-right-dock .camera-ui-rotatable{position:absolute!important;right:calc(10px + env(safe-area-inset-right))!important;bottom:calc(84px + env(safe-area-inset-bottom))!important;z-index:42!important;pointer-events:auto!important}.modal.camera-modal .camera-video-wrap .camera-overlay-right-dock .camera-ui-rotatable .camera-flash-toggle{position:static!important;margin:0!important;z-index:42!important}
