:root{--color-primary:#2e6fe0;--color-primary-hover:#2560c7;--color-primary-pressed:#1e52ac;--color-primary-soft:#6a9bf0;--color-primary-light:#ebf3ff;--color-primary-lighter:#f6f9fe;--color-background:#f3f7fd;--color-surface:#fff;--color-surface-secondary:#fafcff;--color-surface-soft:#f6f9fe;--color-text-primary:#16213a;--color-text-secondary:#4a5773;--color-text-tertiary:#8592ae;--color-text-inverse:#fff;--color-disabled-background:#eef1f6;--color-disabled-text:#a8b2c4;--color-border:#e2e9f4;--color-border-strong:#c9d6ea;--color-divider:#e2e9f4;--color-danger:#c63b37;--color-danger-light:#fcebe9;--color-warning:#b0781a;--color-warning-light:#fbf1df;--color-success:#3b7f5b;--color-success-light:#e7f4ec;--color-info:#2e6fe0;--color-info-light:#ebf3ff;--color-congestion-very-crowded:#ef4444;--color-congestion-crowded:#f59e0b;--color-congestion-normal:#eab308;--color-congestion-relaxed:#22c55e;--color-risk-danger:#d92d20;--color-risk-warning:#f79009;--color-risk-caution:#0ea5e9;--color-risk-safe:#16a34a;--radius-sheet:28px;--radius-card:24px;--radius-cta:18px;--radius-button:16px;--radius-badge:999px;--radius-input:16px;--radius-small:8px;--shadow-xs:0 1px 2px #16213a0a;--shadow-sm:0 2px 4px #16213a0f;--shadow-md:0 4px 8px #16213a14;--shadow-lg:0 8px 16px #16213a1a;--shadow-xl:0 12px 24px #16213a1f;--shadow-card:0 2px 8px #16213a0f;--shadow-fab:0 8px 20px #2e6fe047;--shadow-sheet:0 -8px 28px #16213a1a;--shadow-modal:0 12px 32px #16213a24;--ring-selected:0 0 0 4px #2e6fe024;--ring-focus:0 0 0 3px #2e6fe059;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:28px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.4;--line-height-relaxed:1.6;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:20px;--spacing-2xl:24px;--spacing-3xl:32px;--spacing-4xl:40px;--icon-xs:16px;--icon-sm:20px;--icon-md:24px;--icon-lg:32px;--icon-xl:40px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--motion-tap:.14s ease-out;--motion-sheet:.24s cubic-bezier(.2, .8, .2, 1);--motion-toast:.2s ease-out}.text-title-lg{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.text-title-md{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.text-title-sm{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.text-body-lg{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}.text-body-md{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}.text-caption{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}.text-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-family);background-color:var(--color-background);color:var(--color-text-primary)}.card{background-color:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-md);border:1px solid var(--color-border);transition:box-shadow var(--transition-normal);overflow:hidden}.card:hover,.card:focus-within,.card--elevated{box-shadow:var(--shadow-lg)}.card--flat{box-shadow:none;border:1px solid var(--color-border)}.button{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-button);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:var(--line-height-normal);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;border:none;min-height:44px;text-decoration:none;display:inline-flex}.button:active{transform:scale(.98)}.button:disabled{opacity:.5;cursor:not-allowed}.button--primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.button--primary:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}.button--primary:active:not(:disabled){background-color:var(--color-primary-pressed)}.button--secondary{background-color:var(--color-surface-secondary);color:var(--color-text-primary);border:1px solid var(--color-border)}.button--secondary:hover:not(:disabled){background-color:var(--color-background);border-color:var(--color-primary)}.button--tertiary{color:var(--color-primary);background-color:#0000}.button--tertiary:hover:not(:disabled){background-color:var(--color-primary-lighter)}.button--ghost{color:var(--color-text-secondary);background-color:#0000}.button--ghost:hover:not(:disabled){background-color:var(--color-surface-secondary);color:var(--color-text-primary)}.button--icon{border-radius:12px;place-items:center;width:44px;height:44px;padding:0;display:grid}.button--icon-primary{background-color:var(--color-primary-light);color:var(--color-primary)}.button--icon-primary:hover:not(:disabled){background-color:var(--color-primary-lighter)}.fab{bottom:calc(var(--spacing-lg) + 70px);right:var(--spacing-lg);background-color:var(--color-primary);width:60px;height:60px;color:var(--color-text-inverse);box-shadow:var(--shadow-lg);cursor:pointer;font-size:var(--icon-lg);transition:all var(--transition-normal);z-index:40;border:none;border-radius:50%;place-items:center;display:grid;position:fixed}.fab:hover:not(:disabled){box-shadow:var(--shadow-xl);transform:scale(1.1)}.fab:active:not(:disabled){transform:scale(.95)}.fab:disabled{opacity:.5;cursor:not-allowed}.badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-badge);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);justify-content:center;align-items:center;display:inline-flex}.badge--primary{background-color:var(--color-primary-light);color:var(--color-primary)}.badge--danger{background-color:var(--color-danger-light);color:var(--color-danger)}.badge--warning{background-color:var(--color-warning-light);color:var(--color-warning)}.badge--success{background-color:var(--color-success-light);color:var(--color-success)}.badge--info{background-color:var(--color-info-light);color:var(--color-info)}.badge--very-crowded{background-color:var(--color-danger-light);color:var(--color-danger)}.badge--crowded,.badge--normal{background-color:var(--color-warning-light);color:var(--color-warning)}.badge--relaxed{background-color:var(--color-success-light);color:var(--color-success)}.alert{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--radius-card);font-size:var(--font-size-sm);line-height:var(--line-height-normal);display:flex}.alert--info{background-color:var(--color-info-light);color:var(--color-info);border:1px solid #2e6fe033}.alert--warning{background-color:var(--color-warning-light);color:var(--color-warning);border:1px solid #b0781a33}.alert--danger{background-color:var(--color-danger-light);color:var(--color-danger);border:1px solid #c63b3733}.alert--success{background-color:var(--color-success-light);color:var(--color-success);border:1px solid #3b7f5b33}.alert__icon{font-size:var(--icon-md);flex-shrink:0;line-height:1.2}.alert__content{flex:1}.alert__title{font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.alert__description{font-weight:var(--font-weight-regular)}.divider{background-color:var(--color-divider);border:none;height:1px}.divider--horizontal{width:100%;height:1px;margin:var(--spacing-lg) 0}.divider--vertical{width:1px;height:100%;margin:0 var(--spacing-lg)}.section-header{justify-content:space-between;align-items:flex-end;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);display:flex}.section-header__content{flex:1}.section-header__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;color:var(--color-primary);text-transform:uppercase;margin-bottom:var(--spacing-sm);display:block}.section-header__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0}.section-header__description{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.section-header__action{flex-shrink:0}.empty-state{justify-content:center;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-3xl) var(--spacing-lg);text-align:center;color:var(--color-text-secondary);flex-direction:column;display:flex}.empty-state__icon{opacity:.5;font-size:48px}.empty-state__title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.empty-state__description{font-size:var(--font-size-sm);line-height:var(--line-height-normal);max-width:280px}.skeleton{background:linear-gradient(90deg, var(--color-surface-secondary) 0%, var(--color-background) 50%, var(--color-surface-secondary) 100%);border-radius:var(--radius-button);background-size:200% 100%;animation:1.5s infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton--text{border-radius:4px;height:16px}.skeleton--avatar{border-radius:50%;width:40px;height:40px}.link{color:var(--color-primary);font-weight:var(--font-weight-medium);cursor:pointer;transition:color var(--transition-fast);text-decoration:none}.link:hover{color:var(--color-primary-hover);text-decoration:underline}.link:active{color:var(--color-primary-pressed)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.map-gesture-viewport{touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none}.map-gesture-content{will-change:transform;width:100%;height:100%}.button:focus-visible,.link:focus-visible,.card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}:root{--bg:var(--color-background);--surface:#fff;--surface-muted:var(--color-surface-soft);--text:var(--color-text-primary);--text-muted:var(--color-text-secondary);--border:var(--color-border);--accent:var(--color-primary-hover);--accent-muted:var(--color-primary-light);--shadow:0 12px 28px #0f172a14;--sans:system-ui, "Segoe UI", Roboto, sans-serif;color:var(--text);background:var(--color-background);font:16px/1.5 var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:var(--color-background);margin:0}a{color:inherit}button,input,textarea,select{font:inherit}#root{min-height:100svh}.app-shell{background:var(--color-background);grid-template-rows:auto 1fr;min-height:100svh;display:grid}.app-shell--landing{background:var(--color-background);display:block}.app-header{z-index:10;background:var(--color-background);justify-content:space-between;align-items:center;gap:16px;width:min(100%,430px);margin:0 auto;padding:18px 22px 14px;display:flex;position:sticky;top:0}.app-brand{line-height:1;display:grid}.app-brand strong{color:var(--color-primary);letter-spacing:-.04em;font-size:24px}.app-brand span{color:var(--color-text-secondary);letter-spacing:.08em;margin-top:5px;font-size:9px}.app-header__notification{width:38px;height:38px;color:var(--color-primary);background:var(--color-primary-light);border-radius:12px;place-items:center;text-decoration:none;display:grid;position:relative}.app-header__notification svg{width:21px;height:21px}.notification-unread-badge{box-sizing:border-box;color:#fff;background:var(--color-danger);border:2px solid #fff;border-radius:10px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:800;line-height:1;display:grid;position:absolute;top:2px;right:2px}.app-main{width:min(100%,430px);padding:8px 20px max(24px, env(safe-area-inset-bottom));margin:0 auto}.app-main--landing{width:100%;margin:0;padding:0}.admin-shell{background:var(--bg);grid-template-columns:240px 1fr;min-height:100svh;display:grid}.admin-sidebar{background:var(--color-text-primary);color:#fff;flex-direction:column;gap:16px;padding:24px;display:flex}.admin-sidebar a{color:var(--color-border-strong);border-radius:6px;padding:10px 12px;text-decoration:none}.admin-sidebar a.active{background:var(--color-text-secondary);color:#fff}.admin-main{padding:32px}.page-section{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;gap:12px;padding:24px;display:grid}.page-section h1{letter-spacing:0;margin:0;font-size:28px;line-height:1.25}.page-section p{color:var(--text-muted);margin:0}.eyebrow{font-size:13px;font-weight:700;color:var(--accent)!important}.text-link,.link-list a{width:fit-content;color:var(--accent);font-weight:700;text-decoration:none}.link-list{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}@media (width<=720px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{z-index:10;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 20px;position:sticky;top:0}.admin-main,.page-section{padding:20px}.page-section h1{font-size:24px}}.landing-home{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));background:var(--color-background);place-items:center;display:grid;position:relative;overflow:hidden}.home-quick-access{top:max(26px, calc(env(safe-area-inset-top) + 6px));right:max(24px, env(safe-area-inset-right));z-index:2;opacity:0;visibility:hidden;pointer-events:none;gap:4px;transition:opacity .5s ease-out .22s,transform .5s ease-out .22s,visibility 0s linear .72s;display:flex;position:absolute;transform:translateY(-8px)}.home-quick-access--visible{opacity:1;visibility:visible;pointer-events:auto;transition-delay:.22s,.22s,0s;transform:translateY(0)}.home-quick-access button{width:56px;height:56px;color:var(--color-primary);cursor:pointer;transition:transform var(--motion-tap), background-color var(--motion-tap);background:0 0;border:0;border-radius:14px;place-items:center;padding:0;display:grid;position:relative}.home-quick-access svg{width:20px;height:20px}.home-quick-access .notification-unread-badge{top:11px;right:11px}.home-quick-access button:hover{background:#2e6fe00e}.home-quick-access button:active{transform:scale(.96)}.landing-home__content{gap:clamp(48px,6.5vh,60px);width:min(100%,290px);display:grid;transform:translateY(-2vh)}.home-identity{text-align:center;flex-direction:column;align-items:center;transition:transform .85s cubic-bezier(.4,0,.2,1);display:flex;transform:translateY(0)}.home-logo{width:clamp(82px,23vw,104px);color:var(--color-primary);filter:drop-shadow(0 9px 16px #2e6fe024);transition:width .85s cubic-bezier(.4,0,.2,1);position:relative}.home-logo:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 40%,#ffffffd9 50%,#0000 60%) 110% 0/260% 100% no-repeat;animation:1.1s linear .6s both home-logo-shine;position:absolute;inset:0;-webkit-mask:url(/assets/safy-logo-Zj1ZP7nO.png) 50%/100% 100% no-repeat;mask:url(/assets/safy-logo-Zj1ZP7nO.png) 50%/100% 100% no-repeat}.home-logo svg,.home-logo img{width:100%;height:auto;display:block}.home-identity h1{color:var(--color-primary);letter-spacing:-.055em;margin:12px 0 0;font-size:clamp(45px,14vw,62px);line-height:.92;transition:font-size .85s cubic-bezier(.4,0,.2,1),letter-spacing .85s cubic-bezier(.4,0,.2,1)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.home-identity h1{background:linear-gradient(115deg, transparent 40%, #ffffff61 50%, transparent 60%) 110% 0 / 260% 100% no-repeat, linear-gradient(135deg, var(--color-primary-soft) 0%, var(--color-primary) 45%, var(--color-primary-pressed) 100%);color:#0000;filter:drop-shadow(0 4px 10px #2e6fe02e);-webkit-background-clip:text;background-clip:text;padding:0 .1em;animation:1.1s linear .6s both home-logo-shine}}.landing-home--intro .home-identity h1{letter-spacing:.06em}.home-identity p{color:var(--color-text-secondary);letter-spacing:.12em;margin:12px 0 0;font-size:clamp(13px,3.8vw,17px)}.landing-home--intro .home-identity{animation:.6s ease-out both home-logo-enter}.landing-home--expanded .home-identity{transform:translateY(clamp(-70px,-9vh,-42px))}.landing-home--expanded .home-logo{width:clamp(62px,18vw,80px)}.home-actions{opacity:0;visibility:hidden;pointer-events:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;transition:opacity .56s ease-out .22s,transform .78s cubic-bezier(.4,0,.2,1),visibility 0s linear .9s;display:grid;transform:translateY(70px)}.landing-home--expanded .home-actions{opacity:1;visibility:visible;pointer-events:auto;transition-delay:.46s,.34s,0s;transform:translateY(-35px)}.home-action{aspect-ratio:1;width:100%;min-width:0;color:var(--color-primary);cursor:pointer;transition:transform var(--motion-tap), box-shadow var(--motion-tap);background:#fff;border-radius:26px;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:16px;font-size:clamp(16px,4.5vw,19px);font-weight:700;display:flex;box-shadow:0 12px 30px #16213a1a}.home-action svg{width:clamp(36px,10.5vw,46px);height:clamp(36px,10.5vw,46px)}.home-action--primary{border:1px solid var(--color-primary);color:#fff;background:var(--color-primary);box-shadow:0 12px 30px #2e6fe04d}.home-action--secondary{border:1px solid var(--color-border)}.home-action:hover{transform:translateY(-2px);box-shadow:0 15px 32px #16213a24}.home-action--primary:hover{box-shadow:0 15px 32px #2e6fe05c}.home-action:active{transform:scale(.98)}.landing-home button:focus-visible{outline-offset:3px;outline:3px solid #2e6fe047}@keyframes home-logo-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes home-logo-shine{0%{background-position:110% 0}to{background-position:-10% 0}}@media (height<=680px){.landing-home__content{gap:38px;transform:none}.landing-home--expanded .home-identity{transform:translateY(-35px)}.landing-home--expanded .home-actions{transform:translateY(-20px)}}@media (prefers-reduced-motion:reduce){.home-identity,.home-identity h1,.home-logo,.home-logo:after,.home-actions,.home-quick-access{transition-duration:1ms;transition-delay:0s;animation:none}}.page-header{width:100%;height:68px;min-height:68px;box-shadow:none;box-sizing:border-box;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;margin:0;padding:0 20px;display:flex;position:relative}.page-header__title{max-width:calc(100% - 128px);color:var(--color-text-primary);text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:24px;font-weight:700;line-height:1.3;overflow:hidden}.page-header__back,.page-header__action{width:56px;height:56px;color:var(--color-text-primary);background:0 0;border:0;border-radius:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.page-header__back{cursor:pointer;left:0}.page-header__action{right:0}.page-header__back svg{width:24px;height:24px}.page-header__action>button,.page-header__action>a{place-items:center;width:56px;height:56px;padding:0;display:grid}.page-header__back:focus-visible,.page-header__action>button:focus-visible,.page-header__action>a:focus-visible{outline-offset:2px;outline:3px solid #2e6fe040}.mypage-header>button{border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:50%;font-size:18px}.profile-card,.mypage-card,.favorite-card,.mypage-form,.text-detail{border:1px solid var(--color-border);background:#fff;border-radius:19px;box-shadow:0 10px 26px #16213a0f}.profile-card span{background:var(--color-success-light);color:var(--color-success);border-radius:99px;margin-top:5px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-block}.profile-card>button{color:var(--color-text-secondary);background:0 0;border:0;font-size:18px}.mypage-title button{color:var(--color-success);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:800}.quick-summary{grid-template-columns:repeat(3,1fr);display:grid}.quick-summary b{text-align:center;gap:4px;padding:8px;font-size:21px;display:grid}.quick-summary b+b{border-left:1px solid var(--color-border)}.quick-summary small{color:var(--color-text-secondary);font-size:10px;font-weight:500}.mypage-menu button{border:0;border-bottom:1px solid var(--color-border);min-height:58px;color:var(--color-text-primary);text-align:left;cursor:pointer;background:#fff;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:0 16px;display:grid}.logout-button{min-height:45px;color:var(--color-danger);cursor:pointer;background:#fff;border:1px solid #f4c7c2;border-radius:14px;font-weight:800}.mypage-tabs{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.my-report-card{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);text-align:left;cursor:pointer;background:#fff;border-radius:17px;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.my-report-card strong{font-size:13px;line-height:1.35}.history-list b,.history-list span{font-size:12px}.mypage-form.compact{box-shadow:none}.mypage-form input,.mypage-form select,.mypage-form textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);background:#fff;border-radius:11px;outline:0;padding:12px}.favorite-main strong{font-size:15px}.support-menu button>span{font-size:9px}.mypage-empty p{margin:0;font-size:12px}@media (width<=360px){.my-report-card{grid-template-columns:65px minmax(0,1fr)}.my-report-card>em{grid-column:2;width:fit-content}.report-status-grid{grid-template-columns:repeat(2,1fr)}.notice-list button{grid-template-columns:auto 1fr auto}.notice-list time{grid-column:2}}.mypage-shell{max-width:430px;color:var(--color-text-primary);gap:16px;margin:0 auto;display:grid}.mypage-header{grid-template-columns:42px 1fr 42px;align-items:center;display:grid}.mypage-header.main{grid-template-columns:1fr}.mypage-header h1{text-align:center;margin:0;font-size:24px}.mypage-header.main h1{text-align:left}.mypage-header>button{border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-text-secondary);background:#fff;border-radius:50%;font-size:18px}.profile-card,.mypage-card,.favorite-card,.mypage-form,.text-detail,.settings-cards,.privacy-list,.notification-setting-list{border:1px solid var(--color-border);background:#fff;border-radius:19px;box-shadow:0 10px 26px #16213a0f}.profile-card{grid-template-columns:58px 1fr;align-items:center;gap:12px;padding:16px;display:grid}.avatar{background:var(--color-success);color:#fff;border-radius:50%;place-items:center;width:58px;height:58px;font-size:21px;font-weight:900;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.profile-card h2,.profile-card p{margin:0}.profile-card h2{font-size:19px}.profile-card p{color:var(--color-text-secondary);font-size:12px}.profile-card>div:nth-child(2)>span{background:var(--color-success-light);color:var(--color-success);border-radius:99px;margin-top:5px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-block}.profile-intro{border-top:1px solid var(--color-border);color:var(--color-text-secondary);grid-column:1/-1;padding-top:8px;font-size:11px}.mypage-card{gap:12px;padding:16px;display:grid}.mypage-card p{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.55}.mypage-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.mypage-title h2{margin:0;font-size:17px}.mypage-title button{color:var(--color-success);background:0 0;border:0;font-size:11px;font-weight:800}.activity-stats{grid-template-columns:repeat(4,1fr);display:grid}.activity-stats b{text-align:center;gap:4px;padding:8px 4px;font-size:19px;display:grid}.activity-stats b+b{border-left:1px solid var(--color-border)}.activity-stats small{color:var(--color-text-secondary);font-size:9px;font-weight:500}.report-status-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.report-status-grid span{background:var(--color-surface-soft);color:var(--color-text-secondary);text-align:center;border-radius:12px;gap:4px;padding:8px 4px;font-size:9px;display:grid}.mypage-menu{border:1px solid var(--color-border);background:#fff;border-radius:19px;display:grid;overflow:hidden}.mypage-menu button{border:0;border-bottom:1px solid var(--color-border);min-height:58px;color:var(--color-text-primary);text-align:left;background:#fff;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:0 16px;display:grid}.mypage-menu button:last-child{border-bottom:0}.mypage-menu button>span{background:var(--color-success-light);width:32px;height:32px;color:var(--color-success);border-radius:10px;place-items:center;font-size:11px;font-weight:900;display:grid}.mypage-menu em{color:var(--color-text-tertiary);font-size:20px;font-style:normal}.logout-button{min-height:45px;color:var(--color-danger);background:#fff;border:1px solid #f4c7c2;border-radius:14px;font-weight:800}.mypage-mock,.mypage-message{background:var(--color-warning-light);color:var(--color-warning);border-radius:11px;margin:0;padding:8px 12px;font-size:11px}.mypage-message{background:var(--color-success-light);color:var(--color-success)}.mypage-tabs{gap:8px;display:flex;overflow-x:auto}.mypage-tabs button{border:1px solid var(--color-border);min-height:39px;color:var(--color-text-secondary);background:#fff;border-radius:99px;flex:none;padding:0 12px;font-weight:700}.mypage-tabs button.active{border-color:var(--color-success);background:var(--color-success-light);color:var(--color-success)}.my-report-list,.favorite-list,.notice-list,.accordion-list{gap:8px;display:grid}.my-report-card{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);text-align:left;background:#fff;border-radius:17px;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.report-thumb{background:var(--color-success-light);height:78px;color:var(--color-text-tertiary);text-align:center;border-radius:12px;place-items:center;font-size:10px;display:grid;overflow:hidden}.report-thumb img,.report-media img{object-fit:cover;width:100%;height:100%}.my-report-card>span:nth-child(2){gap:4px;display:grid}.my-report-card small,.my-report-card time{color:var(--color-text-secondary);font-size:10px}.my-report-card strong{font-size:13px}.my-report-card em,.report-detail>em,.notice-list em{border-radius:99px;padding:4px 8px;font-size:9px;font-style:normal;font-weight:900}.status-received{background:var(--color-primary-light);color:var(--color-info)}.status-in-progress{background:var(--color-warning-light);color:var(--color-warning)}.status-closed{background:var(--color-success-light);color:var(--color-success)}.status-rejected{background:var(--color-danger-light);color:var(--color-danger)}.report-detail{position:relative}.report-media{background:var(--color-success-light);min-height:190px;color:var(--color-text-tertiary);border-radius:14px;place-items:center;display:grid;overflow:hidden}.report-detail>em{position:absolute;top:220px;right:27px}.report-detail h2{margin:0;font-size:19px}.report-detail dl{grid-template-columns:65px 1fr;gap:8px;margin:0;font-size:12px;display:grid}.report-detail dt{color:var(--color-text-secondary)}.report-detail dd{margin:0}.history-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.history-list li{border-left:3px solid var(--color-success);grid-template-columns:65px 1fr;gap:4px 8px;padding-left:12px;display:grid}.history-list b,.history-list span{font-size:12px}.history-list time{color:var(--color-text-secondary);grid-column:2;font-size:10px}.detail-actions,.inline-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.detail-actions button,.mypage-form>button,.inline-actions button{background:var(--color-success);color:#fff;border:0;border-radius:13px;min-height:56px;font-weight:800}.detail-actions .danger{background:var(--color-danger-light);color:var(--color-danger)}.mypage-form{gap:12px;padding:16px;display:grid}.mypage-form label{color:var(--color-text-secondary);gap:4px;font-size:11px;font-weight:700;display:grid}.mypage-form input,.mypage-form select,.mypage-form textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);background:#fff;border-radius:11px;padding:12px}.mypage-form input[readonly]{background:var(--color-surface-soft);color:var(--color-text-secondary)}.mypage-form>button:disabled{background:#b9d8d2}.inline-actions .secondary{background:var(--color-surface-soft);color:var(--color-text-secondary)}.favorite-card{overflow:hidden}.favorite-main{width:100%;color:var(--color-text-primary);text-align:left;background:#fff;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:16px;display:grid}.risk-dot{border-radius:50%;width:11px;height:11px}.risk-safe{background:var(--color-success)}.risk-caution{background:var(--color-warning)}.risk-warning,.risk-danger{background:var(--color-danger)}.favorite-main>span:nth-child(2){gap:3px;display:grid}.favorite-main small,.favorite-main em{color:var(--color-text-secondary);font-size:10px;font-style:normal}.favorite-card>div{border-top:1px solid var(--color-border);gap:4px;padding:8px 12px;display:flex}.favorite-card>div button{color:var(--color-text-secondary);background:0 0;border:0;font-size:10px}.favorite-card>div .danger-text{color:var(--color-danger);margin-left:auto}.accordion-list section{border:1px solid var(--color-border);background:#fff;border-radius:15px;overflow:hidden}.accordion-list button{width:100%;color:var(--color-text-primary);text-align:left;background:#fff;border:0;grid-template-columns:27px 1fr auto;align-items:center;gap:8px;padding:16px;display:grid}.accordion-list button span{color:var(--color-success);font-weight:900}.accordion-list button em{font-style:normal}.accordion-list p{color:var(--color-text-secondary);margin:0;padding:0 16px 16px 50px;font-size:12px;line-height:1.55}.notice-list button{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);text-align:left;background:#fff;border-radius:15px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;padding:16px;display:grid}.notice-list em{background:var(--color-danger-light);color:var(--color-danger)}.notice-list em.answered{background:var(--color-success-light);color:var(--color-success)}.notice-list time{color:var(--color-text-secondary);font-size:10px}.text-detail{gap:12px;padding:16px;display:grid}.text-detail small,.text-detail span{color:var(--color-text-secondary);font-size:11px}.text-detail h2,.text-detail p{margin:0}.text-detail p{color:var(--color-text-secondary);font-size:13px;line-height:1.7}.version{color:var(--color-text-tertiary);text-align:center;margin:8px 0;font-size:11px}.mypage-empty,.mypage-loading{min-height:180px;color:var(--color-text-secondary);text-align:center;background:#fff;border-radius:17px;place-items:center;gap:4px;display:grid}.settings-cards{display:grid;overflow:hidden}.settings-cards button{border:0;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);text-align:left;background:#fff;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:16px;display:grid}.settings-cards button:last-child{border-bottom:0}.settings-cards button>span:first-child{background:var(--color-success-light);width:36px;height:36px;color:var(--color-success);border-radius:11px;place-items:center;display:grid}.settings-cards button>span:nth-child(2){gap:2px;display:grid}.settings-cards small,.privacy-list small,.notification-setting-list small{color:var(--color-text-secondary);font-size:10px}.profile-edit-avatar{place-items:center;gap:8px;display:grid}.profile-edit-avatar>span{color:var(--color-text-secondary);font-size:11px}.profile-edit-error,.profile-edit-hint{background:var(--color-danger-light);color:var(--color-danger);border-radius:10px;margin:0;padding:8px 12px;font-size:11px}.profile-edit-hint{background:var(--color-surface-soft);color:var(--color-text-secondary)}.privacy-list{display:grid;overflow:hidden}.privacy-list button{border:0;border-bottom:1px solid var(--color-border);width:100%;color:var(--color-text-primary);text-align:left;cursor:pointer;background:#fff;grid-template-columns:35px 1fr auto;align-items:center;gap:12px;padding:16px;display:grid}.privacy-list button:last-child{border-bottom:0}.privacy-list button>span{background:var(--color-surface-soft);width:34px;height:34px;color:var(--color-text-secondary);border-radius:10px;place-items:center;display:grid}.privacy-list button>div{gap:2px;display:grid}.privacy-list button>b{color:var(--color-text-tertiary);place-items:center;display:grid}.privacy-list button>b svg{width:18px;height:18px}.settings-banner{background:var(--color-success-light);border:1px solid #c7eee5;border-radius:18px;grid-template-columns:40px 1fr;align-items:center;gap:12px;padding:16px;display:grid}.settings-banner>span{background:#fff;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.settings-banner p{color:var(--color-success);margin:2px 0 0;font-size:11px}.notification-setting-list{display:grid;overflow:hidden}.notification-setting-list>div{border-bottom:1px solid var(--color-border);grid-template-columns:1fr auto;align-items:center;gap:16px;padding:16px;display:grid}.notification-setting-list label{gap:4px;display:grid}.setting-toggle{background:var(--color-border-strong);border:0;border-radius:99px;width:48px;height:28px;padding:0;position:relative}.setting-toggle span{width:22px;height:22px;transition:transform var(--motion-tap);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.setting-toggle.on span{transform:translate(20px)}.setting-toggle:disabled{opacity:.4}@media (width<=360px){.activity-stats,.report-status-grid{grid-template-columns:repeat(2,1fr)}.my-report-card{grid-template-columns:65px minmax(0,1fr)}.my-report-card>em{grid-column:2;width:fit-content}}.mypage-shell .mypage-menu button{color:var(--color-text-primary);opacity:1}.mypage-shell .mypage-menu button>span{background:var(--color-success-light);color:var(--color-success)}.mypage-shell .mypage-menu button>b{color:var(--color-text-primary);font-weight:800}.mypage-shell .report-status-grid span:first-child{background:var(--color-warning-light);color:var(--color-warning)}.mypage-shell .report-status-grid span:nth-child(2){background:var(--color-primary-light);color:var(--color-info)}.mypage-shell .report-status-grid span:nth-child(3){background:var(--color-success-light);color:var(--color-success)}.mypage-shell .report-status-grid span:nth-child(4){background:var(--color-danger-light);color:var(--color-danger)}.mypage-shell .report-status-grid span>b{color:inherit}.mypage-shell{color:var(--color-text-primary);background:var(--color-background);gap:16px}.mypage-message{color:var(--color-primary-hover);background:var(--color-primary-light);border-radius:12px;margin:0;padding:8px 12px;font-size:11px}.profile-card,.mypage-card,.mypage-menu,.settings-cards,.privacy-list,.notification-setting-list{border-color:var(--color-border);background:#fff;border-radius:24px;box-shadow:0 7px 24px #16213a0e}.profile-card{grid-template-columns:70px minmax(0,1fr);gap:16px;padding:24px}.profile-card .avatar{color:#fff;background:var(--color-primary);width:70px;height:70px;font-size:25px}.profile-avatar-wrap{width:70px;height:70px;position:relative}.profile-edit-button{width:28px;height:28px;color:var(--color-primary);cursor:pointer;background:#fff;border:2px solid #fff;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;bottom:-3px;right:-3px;box-shadow:0 3px 10px #16213a33}.profile-edit-button svg{width:14px;height:14px}.profile-details{min-width:0}.profile-card .profile-details h2{color:var(--color-text-primary);font-size:24px;line-height:1.25}.profile-card .profile-details p{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:13px;overflow:hidden}.mypage-card{gap:16px;padding:20px}.mypage-title h2{color:var(--color-text-primary);font-size:19px}.mypage-title button{color:var(--color-primary-hover);cursor:pointer;background:0 0;padding:4px 0;font-size:11px}.report-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.report-status-grid span,.mypage-shell .report-status-grid span:nth-child(n){border-radius:15px;align-content:center;gap:4px;min-width:0;min-height:72px;padding:12px 4px;font-size:10px;font-weight:600}.mypage-shell .report-status-grid span:first-child{color:var(--color-primary-hover);background:var(--color-primary-light)}.mypage-shell .report-status-grid span:nth-child(2){color:var(--color-success);background:var(--color-success-light)}.mypage-shell .report-status-grid span:nth-child(3){color:var(--color-danger);background:var(--color-danger-light)}.report-status-grid b{color:inherit;font-size:20px}.mypage-menu{overflow:hidden}.mypage-shell .mypage-menu button{border-bottom:1px solid var(--color-border);min-height:70px;color:var(--color-text-primary);cursor:pointer;background:#fff;grid-template-columns:42px minmax(0,1fr) 22px;gap:12px;padding:0 16px}.mypage-shell .mypage-menu button:hover{background:var(--color-surface-secondary)}.mypage-shell .mypage-menu button>.mypage-menu-icon{width:40px;height:40px;color:var(--color-primary);background:var(--color-primary-light);border-radius:13px;place-items:center;margin:0;padding:0;display:grid}.mypage-menu-icon svg{width:20px;height:20px}.mypage-shell .mypage-menu button>b{color:var(--color-text-primary);font-size:14px;font-weight:700}.mypage-menu em{color:var(--color-text-tertiary);place-items:center;display:grid}.mypage-menu em svg{width:18px;height:18px}.logout-button{width:100%;min-height:50px;color:var(--color-danger);cursor:pointer;background:#fff;border:1px solid #f1b5b5;border-radius:16px;font-size:14px;font-weight:800}.mypage-title button:focus-visible,.mypage-menu button:focus-visible,.logout-button:focus-visible{outline-offset:2px;outline:3px solid #2e6fe040}.mypage-tabs button.active{border-color:var(--color-primary);color:#fff;background:var(--color-primary)}.history-list li{border-left-color:var(--color-primary)}.detail-actions button,.mypage-form>button,.inline-actions button{background:var(--color-primary)}.mypage-form input:focus,.mypage-form select:focus,.mypage-form textarea:focus{border-color:var(--color-primary)}.accordion-list button span{color:var(--color-primary)}.notice-list-plain button{grid-template-columns:minmax(0,1fr) auto auto}.settings-cards button>span:first-child,.privacy-list button>span{color:var(--color-primary);background:var(--color-primary-light)}.settings-banner{border-color:var(--color-primary-light);background:var(--color-primary-light)}.settings-banner p{color:var(--color-text-secondary)}.setting-toggle.on{background:var(--color-primary)}.mypage-shell .support-menu button>span,.settings-cards button>span:first-child{width:38px;height:38px;color:var(--color-primary);background:#2e6fe014;border-radius:12px;place-items:center;display:grid}.mypage-shell .support-menu button>span svg,.settings-cards button>span:first-child svg{width:20px;height:20px}.mypage-shell .support-menu button>b{color:var(--color-primary-hover)}.support-menu button>em,.settings-cards button>b{color:var(--color-primary);place-items:center;display:grid}.support-menu button>em svg,.settings-cards button>b svg,.privacy-list button>span svg{width:20px;height:20px}.privacy-detail h3{color:var(--color-text-primary);margin:8px 0 0;font-size:15px;font-weight:700}.privacy-detail ul,.privacy-detail ol{color:var(--color-text-secondary);gap:6px;margin:0;padding-left:18px;font-size:13px;line-height:1.6;display:grid}.privacy-detail-table{overflow-x:auto}.privacy-detail table{border-collapse:collapse;width:100%;font-size:12px}.privacy-detail th,.privacy-detail td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:8px}.privacy-detail th{background:var(--color-surface-secondary);color:var(--color-text-primary);font-weight:700}.privacy-detail small{color:var(--color-text-tertiary);margin-top:4px;display:block}.support-menu button:focus-visible,.settings-cards button:focus-visible,.account-form>button:focus-visible{outline-offset:2px;outline:3px solid #2e6fe040}.account-form .profile-edit-avatar .avatar{color:#fff;background:var(--color-primary)}.account-form .profile-edit-avatar>span{color:var(--color-primary-hover)}.account-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2e6fe01f}.account-form>button{color:#fff;background:var(--color-primary)}.account-form>button:disabled{color:#fff;cursor:not-allowed;background:#2e6fe040}.profile-edit-form{border-radius:20px;gap:16px;padding:24px;box-shadow:0 4px 16px #16213a0b}.profile-edit-form .profile-edit-avatar{gap:8px;margin-bottom:2px}.profile-edit-form .profile-edit-avatar .avatar{width:88px;height:88px;font-size:28px}.profile-photo-actions{align-items:center;gap:8px;display:flex}.profile-edit-form .profile-photo-button,.profile-edit-form .profile-photo-reset{border:1px solid var(--color-border-strong);min-height:34px;color:var(--color-primary-hover);cursor:pointer;background:#fff;border-radius:999px;align-items:center;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.profile-edit-form .profile-photo-reset{border-color:var(--color-border);color:var(--color-text-secondary)}.profile-edit-form .profile-photo-button.disabled,.profile-edit-form .profile-photo-reset:disabled{border-color:var(--color-border);color:var(--color-text-tertiary);background:var(--color-surface-soft);cursor:not-allowed}.profile-photo-button input{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.profile-edit-form label{color:var(--color-text-secondary);gap:8px;font-size:13px}.profile-edit-form .profile-edit-field input{border:1px solid var(--color-border-strong);height:50px;color:var(--color-text-primary);background:#fff;border-radius:13px;padding:0 16px;font-size:16px}.profile-edit-form .profile-edit-field input[readonly]{color:var(--color-text-secondary);background:var(--color-surface-soft);cursor:default}.profile-edit-field{gap:8px;display:grid}.profile-edit-field>label{color:var(--color-text-secondary);font-size:13px;font-weight:700}.profile-field-error{color:var(--color-danger);font-size:12px}.profile-edit-form>button{border-radius:14px;min-height:52px;margin-top:8px}.profile-edit-form>button:disabled{background:var(--color-disabled-background)}.account-menu{border:1px solid var(--color-border);background:#fff;border-radius:24px;display:grid;overflow:hidden;box-shadow:0 7px 24px #16213a0e}.account-menu button{border:0;border-bottom:1px solid var(--color-border);min-height:58px;color:var(--color-text-primary);text-align:left;cursor:pointer;background:#fff;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:700;display:grid}.account-menu button:last-child{border-bottom:0}.account-menu button:hover{background:var(--color-surface-secondary)}.account-menu small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:400;overflow:hidden}.account-menu b{color:var(--color-text-tertiary);font-size:21px;font-weight:400}.account-withdrawal{min-height:56px;color:var(--color-danger);cursor:pointer;background:#fff;border:1px solid #f1b5b5;border-radius:16px;font-size:14px;font-weight:700}.account-modal-backdrop{z-index:50;background:#16213a73;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.account-modal{background:#fff;border-radius:22px;gap:12px;width:min(100%,340px);padding:24px;display:grid;box-shadow:0 18px 45px #16213a33}.account-modal h2,.account-modal p{margin:0}.account-modal h2{font-size:20px}.account-modal p{color:var(--color-text-secondary);font-size:13px;line-height:1.55}.account-modal>div{grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;display:grid}.account-modal button{min-height:56px;color:var(--color-text-secondary);background:var(--color-surface-soft);cursor:pointer;border:0;border-radius:13px;font-weight:700}.account-modal button.danger{color:#fff;background:var(--color-danger)}.report-filters{gap:12px;display:grid;overflow:visible}.report-status-filters{background:var(--color-surface-soft);border-radius:14px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:4px;display:grid}.report-status-filters button{min-height:38px;color:var(--color-text-secondary);letter-spacing:-.2px;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 4px;font-size:12px;font-weight:500}.report-status-filters button.active{color:var(--color-primary-hover);background:#fff;font-weight:600;box-shadow:0 1px 4px #16213a14}.report-filter-toolbar{justify-content:space-between;align-items:center;gap:12px;min-height:40px;display:flex;overflow:visible}.report-filter-toolbar>span{color:var(--color-text-secondary);font-size:13px;font-weight:600}.report-date-filter{width:136px;position:relative}.report-date-filter__trigger{border:1px solid var(--color-border);width:100%;height:56px;color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:0 12px;font-size:13px;font-weight:600;display:flex}.report-date-filter__menu{z-index:30;border:1px solid var(--color-border);background:#fff;border-radius:12px;width:168px;max-width:calc(100vw - 32px);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 22px #16213a1a}.report-date-filter__menu button{min-height:56px;color:var(--color-text-secondary);text-align:left;cursor:pointer;background:#fff;border:0;border-radius:8px;padding:0 8px;font-size:13px}.report-date-filter__menu button.active{color:var(--color-primary-hover);background:#2e6fe014;font-weight:600}.report-custom-dates{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:8px;display:grid}.report-custom-dates label{min-width:0;color:var(--color-text-secondary);gap:4px;font-size:11px;display:grid}.report-custom-dates input{border:1px solid var(--color-border);width:100%;min-width:0;height:42px;color:var(--color-text-secondary);background:#fff;border-radius:12px;padding:0 6px;font-size:16px}.report-custom-dates>span{color:var(--color-text-tertiary);padding-bottom:12px}.my-report-list{gap:16px}.mypage-shell .my-report-card{border:1px solid var(--color-border);background:#fff;border-radius:20px;grid-template-columns:104px minmax(0,1fr);gap:0;min-height:112px;padding:0;display:grid;overflow:hidden;box-shadow:0 5px 18px #16213a0d}.mypage-shell .report-thumb{border-right:1px solid var(--color-border);width:104px;height:100%;min-height:112px;color:var(--color-text-tertiary);background:var(--color-surface-soft);place-items:center;display:grid;position:relative;overflow:hidden}.report-thumb img{object-fit:cover;width:100%;height:100%}.report-image-placeholder{color:var(--color-text-tertiary);text-align:center;font-size:12px;line-height:1.4}.report-thumb-fallback{color:var(--color-text-tertiary);text-align:center;place-items:center;gap:4px;padding:0 8px;font-size:11px;line-height:1.3;display:grid}.report-thumb-fallback svg{width:22px;height:22px}.report-card-status{z-index:2;white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:11px;font-style:normal;font-weight:600;line-height:1;position:absolute;top:8px;left:8px}.report-card-relative-date{z-index:2;color:var(--color-text-secondary);white-space:nowrap;background:#ffffffeb;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:600;line-height:1;position:absolute;bottom:8px;right:8px;box-shadow:0 2px 8px #16213a1a}.report-card-status--received{color:var(--color-primary-hover);background:#ebf3fff0}.report-card-status--in-progress{color:var(--color-warning);background:#fbf1dff0}.report-card-status--closed{color:var(--color-success);background:#e7f4ecf0}.report-card-status--rejected{color:var(--color-danger);background:#fcebe9f0}.report-card-status--cancelled{color:var(--color-text-secondary);background:#e2e9f4f0}.mypage-shell .report-card-body{text-align:left;align-content:center;gap:8px;min-width:0;padding:16px;display:grid}.report-card-body small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.report-card-body strong{color:var(--color-text-primary);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;line-height:1.4;display:-webkit-box;overflow:hidden}.report-card-body time{color:var(--color-text-tertiary);font-size:12px;line-height:1.4}.report-status-filters button:focus-visible,.report-date-filter button:focus-visible,.report-custom-dates input:focus-visible,.my-report-card:focus-visible{outline-offset:2px;outline:3px solid #2e6fe040}@media (width<=380px){.mypage-shell .my-report-card{grid-template-columns:94px minmax(0,1fr)}.mypage-shell .report-thumb{width:94px}}.profile-edit-button:focus-visible,.account-menu button:focus-visible,.account-withdrawal:focus-visible{outline-offset:2px;outline:3px solid #2e6fe040}.favorites-header .page-header__action,.favorites-header .page-header__action>.favorite-add-button{width:44px;height:44px}.favorites-header .favorite-add-button{color:var(--color-primary);background:var(--color-primary-light);cursor:pointer;border:0;border-radius:50%;box-shadow:0 2px 8px #2e6fe01f}.favorites-header .favorite-add-button svg{width:22px;height:22px}.favorites-header .favorite-add-button:active{background:var(--color-primary-light)}@media (width<=360px){.profile-card{grid-template-columns:60px minmax(0,1fr);padding:16px}.profile-card .avatar,.profile-avatar-wrap{width:60px;height:60px}.report-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.report-status-grid span,.mypage-shell .report-status-grid span:nth-child(n){min-height:66px;font-size:9px}}.mypage-shell .mypage-form input,.mypage-shell .mypage-form select,.mypage-shell .mypage-form textarea{font-size:16px;line-height:1.5}.mypage-shell .mypage-form label{font-size:11px}.my-report-detail-page{gap:16px;min-width:0;padding-bottom:0;display:grid}.my-report-detail-page .mypage-header>button:focus-visible{outline-offset:2px;outline:3px solid #2e6fe040}.my-report-detail-page .mypage-card{border:1px solid var(--color-border);background:#fff;border-radius:24px;min-width:0;box-shadow:0 7px 22px #16213a0e}.report-detail-card{gap:16px;padding:20px;display:grid}.my-report-detail-page .report-detail-media-carousel{min-width:0;position:relative}.my-report-detail-page .report-detail-media-track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;background:var(--color-surface-soft);border-radius:20px;grid-auto-columns:100%;grid-auto-flow:column;width:100%;display:grid;overflow-x:auto}.my-report-detail-page .report-detail-media-track::-webkit-scrollbar{display:none}.my-report-detail-page .report-detail-media{scroll-snap-align:center;min-width:0;min-height:200px;color:var(--color-text-secondary);place-items:center;font-size:12px;display:grid}.my-report-detail-page .report-detail-media img,.my-report-detail-page .report-detail-media video{object-fit:contain;border-radius:20px;width:100%;height:auto;max-height:68vh;display:block}.my-report-detail-page .report-detail-media--empty,.my-report-detail-page .report-detail-media-failed{text-align:center;margin:0;padding:0 16px}.my-report-detail-page .report-detail-media--empty{width:100%;min-height:200px;color:var(--color-text-secondary);background:var(--color-surface-soft);border-radius:20px;place-items:center;font-size:12px;display:grid}.my-report-detail-page .report-detail-media-counter{color:#fff;pointer-events:none;background:#16213aa8;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;position:absolute;top:12px;right:12px}.my-report-detail-page .report-detail-media-nav{color:#fff;cursor:pointer;background:#16213a80;border:0;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;font-size:17px;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.my-report-detail-page .report-detail-media-nav.prev{left:8px}.my-report-detail-page .report-detail-media-nav.next{right:8px}.my-report-detail-page .report-detail-media-nav:disabled{opacity:0;pointer-events:none}.my-report-detail-page .report-detail-media-dots{justify-content:center;gap:8px;margin-top:9px;display:flex}.my-report-detail-page .report-detail-media-dots button{background:var(--color-border-strong);cursor:pointer;border:0;border-radius:50%;width:7px;height:7px;padding:0}.my-report-detail-page .report-detail-media-dots button.active{background:var(--color-primary);border-radius:999px;width:18px}.report-detail-heading{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.report-detail-heading h2{min-width:0;color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:18px;font-weight:700;line-height:1.4;overflow:hidden}.report-detail-heading em{border-radius:999px;flex:none;padding:8px 12px;font-size:11px;font-style:normal;font-weight:800;line-height:1.3}.report-detail-heading .status-received{color:var(--color-text-secondary);background:var(--color-surface-soft)}.report-detail-heading .status-in-progress{color:var(--color-warning);background:var(--color-warning-light)}.report-detail-heading .status-rejected{color:var(--color-danger);background:var(--color-danger-light)}.report-detail-heading .status-closed{color:var(--color-success);background:var(--color-success-light)}.report-detail-heading .status-cancelled{color:var(--color-text-secondary);background:var(--color-border)}.report-detail-description,.report-detail-section__card>p{overflow-wrap:anywhere;color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.7}.report-detail-info{grid-template-columns:96px minmax(0,1fr);gap:16px 12px;margin:0;font-size:13px;line-height:1.55;display:grid}.report-detail-info dt{color:var(--color-text-secondary)}.report-detail-info dd{overflow-wrap:anywhere;min-width:0;color:var(--color-text-primary);margin:0}.report-detail-info dd strong,.report-detail-info dd span{display:block}.report-detail-info dd strong{color:var(--color-primary-hover);margin-bottom:2px}.report-detail-info dd span{color:var(--color-text-secondary)}.report-detail-content{border-top:1px solid var(--color-border);gap:8px;min-width:0;padding-top:16px;display:grid}.report-detail-content h3{color:var(--color-text-primary);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:700;line-height:1.4;display:flex}.report-detail-content h3 svg{width:17px;height:17px;color:var(--color-primary);flex:none}.report-detail-content .report-detail-description{white-space:pre-wrap}.report-detail-cancel{width:100%;min-height:46px;color:var(--color-danger);background:var(--color-danger-light);cursor:pointer;border:1px solid #f4c7c2;border-radius:16px;padding:8px 12px;font-size:14px;font-weight:700;line-height:1.4}.report-detail-cancel:active{background:#fecdca}.report-detail-cancel:disabled{cursor:default}.report-detail-cancel:disabled:not(.is-cancelled){opacity:.6}.report-detail-cancel.is-cancelled{color:var(--color-danger);background:var(--color-danger-light);border-color:#f4c7c2;font-size:13px}.report-detail-cancel:focus-visible{outline-offset:2px;outline:3px solid #c63b3740}.report-detail-section{gap:8px;min-width:0;display:grid}.report-detail-section+.report-detail-section{margin-top:6px}.report-detail-section__title{color:var(--color-text-primary);margin:0;font-size:18px;font-weight:700;line-height:1.4}.report-detail-section__card{border-radius:16px;min-width:0;padding:16px;display:grid}.report-history-list{margin:0;padding:0;list-style:none;display:grid}.report-history-list li{gap:4px;min-width:0;padding:0 0 24px 24px;display:grid;position:relative}.report-history-list li:not(:last-child):before{background:var(--color-primary);content:"";width:2px;position:absolute;top:7px;bottom:-7px;left:5px}.report-history-list li:after{background:var(--color-primary);content:"";border:3px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:0;box-shadow:0 0 0 1px #2e6fe033}.report-history-list li:last-child{padding-bottom:0}.report-history-list b{color:var(--color-primary-hover);font-size:13px}.report-history-list span{overflow-wrap:anywhere;color:var(--color-text-secondary);font-size:13px;line-height:1.55}.report-history-list time{color:var(--color-text-tertiary);font-size:11px}.report-history-list li.is-done b{color:var(--color-text-secondary);font-weight:600}.report-history-list li.is-done span{color:var(--color-text-secondary)}.report-history-list li.is-done:after{background:var(--color-border-strong)}.report-history-list li.is-current b{font-weight:700}.report-history-list li.is-current:after{box-shadow:0 0 0 4px #2e6fe026}@media (width<=360px){.report-detail-card{padding:16px}.my-report-detail-page .report-detail-media,.my-report-detail-page .report-detail-media--empty{min-height:170px}}.notifications-page{max-width:430px;color:var(--color-text-primary);background:var(--color-background);padding-top:env(safe-area-inset-top);gap:20px;margin:0 auto;display:grid}.notification-tabs{scrollbar-width:none;gap:8px;padding:1px 0 4px;display:flex;overflow-x:auto}.notification-tabs::-webkit-scrollbar{display:none}.notification-tabs button{border:1px solid var(--color-border);min-height:40px;color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:700;display:flex}.notification-tabs button>span{min-width:20px;height:20px;color:var(--color-text-secondary);background:var(--color-surface-soft);border-radius:999px;place-items:center;padding:0 4px;font-size:10px;display:grid}.notification-tabs button.active{border-color:var(--color-primary);color:#fff;background:var(--color-primary)}.notification-tabs button.active>span{color:var(--color-primary-hover);background:#fff}.settings-done{color:#fff;background:var(--color-primary);cursor:pointer;border:0;border-radius:999px;min-height:34px;padding:0 12px;font-size:11px;font-weight:800}.notification-list-toolbar{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-bottom:-8px;font-size:11px;display:flex}.notification-list-toolbar button{color:var(--color-primary-hover);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:11px;font-weight:800}.notification-list-toolbar button:disabled{color:var(--color-text-tertiary);cursor:default}.notification-groups{gap:24px;display:grid}.notification-section{gap:12px;display:grid}.notification-section h2{color:var(--color-text-primary);margin:0 2px;font-size:15px}.notification-section>div{gap:16px;display:grid}.notification-card{border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);text-align:left;cursor:pointer;transition:background-color var(--motion-tap);border-radius:24px;padding:16px;display:block;overflow:hidden;box-shadow:0 7px 22px #16213a0e}.notification-card--read{background:#fff}.notification-card--unread{border-color:var(--color-primary-light);background:#2e6fe014}.notification-type-icon{border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;display:grid}.notification-type-icon svg{width:15px;height:15px}.type-report .notification-type-icon{color:var(--color-primary);background:var(--color-primary-light)}.type-safety .notification-type-icon{color:var(--color-warning);background:var(--color-warning-light)}.type-system .notification-type-icon{color:var(--color-text-secondary);background:var(--color-surface-soft)}.notification-card-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.notification-title{min-width:0;color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15px;font-weight:700;line-height:1.4;overflow:hidden}.notification-time{color:var(--color-text-tertiary);white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:400;line-height:1.4}.notification-content{color:var(--color-text-secondary);overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:10px;font-size:14px;font-weight:400;line-height:1.55;display:-webkit-box;overflow:hidden}.notification-card:focus-visible,.notification-tabs button:focus-visible,.notification-list-toolbar button:focus-visible,.toggle:focus-visible{outline-offset:2px;outline:3px solid #2e6fe040}.notifications-empty{border:1px solid var(--color-border);min-height:220px;color:var(--color-text-secondary);text-align:center;background:#fff;border-radius:24px;place-items:center;gap:8px;padding:32px;display:grid}.notifications-empty>span{width:48px;height:48px;color:var(--color-success);background:var(--color-success-light);border-radius:50%;place-items:center;display:grid}.notifications-empty svg{width:24px;height:24px}.notifications-empty strong{color:var(--color-text-primary)}.notifications-empty p{margin:0;font-size:12px}.notification-loading{gap:16px;display:grid}.notification-loading span{background:linear-gradient(90deg, var(--color-surface-secondary) 25%, var(--color-background) 50%, var(--color-surface-secondary) 75%);background-size:200% 100%;border-radius:24px;height:150px;animation:1.4s infinite notification-shimmer}@keyframes notification-shimmer{to{background-position:-200% 0}}.settings-backdrop{z-index:50;background:#16213a6b;align-items:end;display:grid;position:fixed;inset:0}.notification-settings{width:min(100%,430px);max-height:88svh;padding:24px 20px calc(20px + env(safe-area-inset-bottom));background:#fff;border-radius:26px 26px 0 0;gap:16px;margin:0 auto;display:grid;overflow-y:auto}.notification-settings header{justify-content:space-between;align-items:center;gap:12px;display:flex}.notification-settings header p{color:var(--color-primary-hover);letter-spacing:.08em;margin:0;font-size:10px;font-weight:800}.notification-settings h2{margin:3px 0 0;font-size:24px}.notification-settings header button{width:40px;height:40px;color:var(--color-text-secondary);background:var(--color-surface-soft);cursor:pointer;border:0;border-radius:50%;font-size:24px}.settings-list{display:grid}.setting-row{border-bottom:1px solid var(--color-border);grid-template-columns:1fr auto;align-items:center;gap:16px;padding:16px 0;display:grid}.setting-row label{gap:4px;display:grid}.setting-row label strong{font-size:14px}.setting-row label span{color:var(--color-text-secondary);font-size:11px}.toggle{background:var(--color-border-strong);cursor:pointer;width:48px;height:28px;transition:background var(--motion-tap);border:0;border-radius:999px;padding:0;position:relative}.toggle span{width:22px;height:22px;transition:transform var(--motion-tap);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #16213a4d}.toggle.on{background:var(--color-primary)}.toggle.on span{transform:translate(20px)}.toggle:disabled{opacity:.4;cursor:not-allowed}.settings-done{min-height:46px;font-size:14px}@media (width<=370px){.notification-card{padding:16px}}.report-create-page{max-width:430px;padding:0 0 calc(124px + env(safe-area-inset-bottom));color:var(--color-text-primary);gap:16px;margin:0 auto;display:grid}.report-create-header{gap:8px;padding:4px 4px 0;display:grid}.report-create-header h1,.report-create-card h2,.report-complete-card h1{color:var(--color-text-primary);letter-spacing:0;margin:0}.report-create-header h1{font-size:24px;line-height:1.2}.report-create-header p,.report-create-card p,.report-create-muted,.report-summary-list dd{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.5}.report-create-card,.report-complete-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;gap:16px;padding:16px;display:grid;box-shadow:0 12px 28px #16213a12}.report-create-card h2{font-size:19px}.report-form-section{gap:8px;min-width:0;display:grid}.report-form-section-title{color:var(--color-text-primary);margin:0;font-size:16px;font-weight:700;line-height:1.4}.report-safety-box{background:var(--color-success-light);border:1px solid #bcebe2;border-radius:16px;gap:8px;padding:16px;display:grid}.report-safety-box strong{color:var(--color-success);font-size:15px}.report-method-grid,.report-category-grid,.report-classification-group{gap:8px;display:grid}.report-classification-group-separated{border-top:1px solid var(--color-border);padding-top:16px}.report-section-label{color:var(--color-text-primary);letter-spacing:0;margin:0;font-size:14px;font-weight:900;line-height:1.35}.report-section-hint{color:var(--color-text-secondary);margin:0;font-size:12px;font-weight:400;line-height:1.4}.report-method-button,.report-category-button,.report-tag-button,.report-primary-button,.report-secondary-button,.report-ghost-button,.report-file-button{min-height:46px;font:inherit;cursor:pointer;border:0;border-radius:14px;font-weight:800}.report-method-button{border:1px solid var(--color-border);color:var(--color-text-primary);text-align:left;background:#fff;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px;display:grid}.report-method-button.selected,.report-category-button.selected,.report-tag-button.selected{border-color:var(--color-success);background:var(--color-success-light);box-shadow:0 0 0 2px #3b7f5b1f}.report-radio-dot{border:2px solid var(--color-border-strong);border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.report-method-button.selected .report-radio-dot{border-color:var(--color-success)}.report-method-button.selected .report-radio-dot:after{content:"";background:var(--color-success);border-radius:50%;width:10px;height:10px}.report-method-title{color:var(--color-text-primary);font-size:15px;display:block}.report-recommend-badge,.report-live-badge,.report-info-badge{border-radius:var(--radius-badge);align-items:center;min-height:24px;padding:4px 8px;font-size:11px;font-weight:900;display:inline-flex}.report-recommend-badge,.report-info-badge{color:var(--color-success);background:var(--color-success-light)}.report-map-placeholder{background:linear-gradient(90deg,#ffffffad 1px,#0000 1px) 0 0/28px 28px,linear-gradient(#ffffffad 1px,#0000 1px) 0 0/28px 28px,#d7e9e6;border-radius:16px;gap:8px;min-height:176px;padding:16px;display:grid;position:relative;overflow:hidden}.report-location-status{z-index:1;background:#ffffffeb;border-radius:14px;align-self:end;gap:8px;padding:12px;display:grid;position:relative}.report-error-text{color:var(--color-danger);margin:0;font-size:13px;line-height:1.5}.report-media-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.report-media-preview-grid .report-media-preview{min-width:0}.report-media-preview-grid .report-media-preview img{aspect-ratio:1;object-fit:cover}.report-live-notice{color:#fff;text-align:center;white-space:pre-line;background:#0a1824e6;border:1px solid #ffffff52;border-radius:14px;margin:0;padding:16px;font-size:18px;font-weight:700;line-height:1.45}.report-live-messages{color:#fff;background:#0a1824d1;border:1px solid #ffffff47;border-radius:14px;gap:8px;padding:12px 16px;display:grid}.report-live-messages p{margin:0;font-size:13px;line-height:1.45}.report-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.report-category-button{border:1px solid var(--color-border);min-height:56px;color:var(--color-text-primary);background:#fff;padding:0 8px;font-size:13px}.report-category-button.selected:before{content:"✓ ";color:var(--color-success)}.report-tag-grid{flex-wrap:wrap;gap:8px;display:flex}.report-tag-button{border:1px solid var(--color-border);border-radius:var(--radius-badge);min-height:38px;color:var(--color-text-primary);background:#fff;padding:0 12px;font-size:13px}.report-tag-button.selected{color:var(--color-success)}.report-content-textarea{resize:vertical;border:1px solid var(--color-border);border-radius:var(--radius-input);width:100%;min-height:132px;color:var(--color-text-primary);font:inherit;box-sizing:border-box;background:#fff;padding:12px;font-size:16px;line-height:1.5}.report-content-textarea::placeholder{color:var(--color-text-tertiary)}.report-content-textarea:focus{border-color:var(--color-success);outline:3px solid #3b7f5b2e}.report-content-textarea[aria-invalid=true]{border-color:#f1a19b}.report-content-meta{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.report-content-count{color:var(--color-text-secondary);flex:none;font-size:12px;font-weight:800;line-height:1.5}.report-primary-button{color:#fff;background:var(--color-success);width:100%;padding:0 16px}.report-primary-button:disabled{cursor:not-allowed;background:var(--color-disabled-background)}.report-secondary-button,.report-ghost-button,.report-file-button{color:var(--color-success);background:var(--color-success-light);padding:0 16px}.report-ghost-button{color:var(--color-text-secondary);background:var(--color-surface-soft)}.report-create-actions{bottom:calc(72px + env(safe-area-inset-bottom));z-index:2;padding-top:4px;position:sticky}.report-live-overlay{z-index:1000;color:#fff;background:var(--color-text-primary);grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.report-live-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.report-live-topbar,.report-live-bottom{z-index:2;position:relative}.report-live-topbar{padding:calc(14px + env(safe-area-inset-top)) 16px 12px;background:linear-gradient(#000000b8,#0000);justify-content:space-between;align-items:center;gap:12px;display:flex}.report-live-back{min-width:56px;min-height:56px;color:var(--color-primary);cursor:pointer;background:0 0;border:0;border-radius:0}.report-live-back svg{width:24px;height:24px;margin:auto;display:block}.report-live-status{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.report-live-overlay .report-live-badge,.report-live-overlay .report-info-badge{border-radius:var(--radius-badge);min-height:20px;padding:4px 8px;font-size:10px;line-height:1.2}.report-live-overlay .report-live-badge{color:#fff;background:#c63b37eb}.report-live-overlay .report-info-badge{color:var(--color-primary-hover);background:#2e6fe024}.report-live-overlay .report-info-badge-accident{color:var(--color-danger);background:#c63b3729}.report-live-stage{place-items:center;min-height:0;display:grid;position:relative}.report-live-panel{z-index:2;border-radius:var(--radius-card);text-align:center;background:#000000ad;border:1px solid #ffffff29;gap:12px;width:min(360px,100% - 32px);padding:16px;display:grid;position:relative}.report-live-bottom{padding:16px 16px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#000000d1 18%);gap:12px;display:grid}.report-live-safety{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.report-live-safety li{border-radius:var(--radius-badge);color:#fff;border-radius:var(--radius-badge);background:#2e6fe06b;border:1px solid #2e6fe06b;align-items:center;gap:4px;padding:8px;font-size:12px;font-weight:700;display:inline-flex}.report-live-duration svg,.report-live-safety svg{flex:0 0 15px;width:15px;height:15px}.report-live-duration{border:1px solid var(--color-danger);border-radius:var(--radius-badge);background:var(--color-danger);color:#fff;justify-self:start;align-items:center;gap:4px;max-width:100%;margin:0;padding:8px 12px;font-size:12px;font-weight:800;line-height:1.3;display:inline-flex}.report-live-control{border-radius:var(--radius-badge);color:#fff;background:var(--color-danger);cursor:pointer;border:0;min-height:54px;font-size:16px;font-weight:900}.report-live-control.ready{background:var(--color-primary)}.report-live-control:disabled{cursor:not-allowed;background:var(--color-text-secondary)}.report-live-overlay .report-primary-button{color:#fff;background:var(--color-primary)}.report-live-overlay .report-ghost-button{color:var(--color-primary);background:#2e6fe01f}.report-media-preview{gap:8px;display:grid}.report-photo-mode-grid,.report-inline-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.report-photo-mode-button{border:1px solid var(--color-border);min-height:56px;color:var(--color-text-primary);font:inherit;cursor:pointer;background:#fff;border-radius:14px;padding:0 12px;font-weight:800}.report-photo-mode-button.selected{border-color:var(--color-success);background:var(--color-success-light);box-shadow:0 0 0 2px #3b7f5b1f}.report-photo-mode-button:disabled{cursor:not-allowed;color:var(--color-text-secondary);background:var(--color-surface-soft)}.report-camera-box,.report-camera-state{gap:12px;display:grid}.report-camera-state{background:var(--color-surface-soft);border-radius:16px;padding:16px}.report-photo-camera-video{object-fit:contain;background:var(--color-text-primary);border-radius:16px;width:100%;max-height:380px}.report-media-preview img{object-fit:contain;background:var(--color-border);border-radius:16px;width:100%;max-height:360px}.report-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.report-summary-list{gap:8px;margin:0;display:grid}.report-summary-list div{gap:4px;display:grid}.report-summary-list dt{color:var(--color-text-secondary);font-size:12px;font-weight:800}.report-summary-list dd{color:var(--color-text-primary);font-weight:800}.report-complete-card{text-align:center}.report-complete-mark{color:#fff;background:var(--color-success);border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto;font-size:28px;font-weight:900;display:grid}.report-modal-backdrop{z-index:1100;background:#16213a94;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.report-confirm-modal{border:1px solid var(--color-border);border-radius:var(--radius-sheet);background:#fff;gap:16px;width:min(100%,380px);padding:20px;display:grid;box-shadow:0 22px 48px #16213a38}.report-confirm-modal h2{color:var(--color-text-primary);letter-spacing:0;margin:0;font-size:22px;line-height:1.3}.report-confirm-modal p{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.55}.report-modal-warning{background:var(--color-danger-light);border:1px solid #fecdca;border-radius:14px;padding:12px;font-weight:700;color:var(--color-danger)!important}.report-live-overlay .report-confirm-modal .report-modal-actions .report-ghost-button{border:1px solid var(--color-border-strong);color:var(--color-text-secondary);background:#fff}.report-live-overlay .report-confirm-modal .report-modal-actions .report-primary-button{color:#fff;background:var(--color-primary)}.report-live-overlay .report-confirm-modal .report-modal-actions .report-primary-button:disabled{background:#2e6fe059}.report-live-overlay button:focus-visible{outline-color:#2e6fe059}.report-modal-actions{grid-template-columns:.9fr 1.1fr;gap:8px;display:grid}button:focus-visible,.report-file-button:focus-visible,.report-file-input:focus-visible+.report-file-button,.report-photo-mode-button:focus-visible,.report-tag-button:focus-visible{outline-offset:2px;outline:3px solid #3b7f5b4d}@media (width<=360px){.report-method-button{grid-template-columns:auto 1fr}.report-recommend-badge{grid-column:2;width:fit-content}.report-photo-mode-grid,.report-inline-actions,.report-modal-actions{grid-template-columns:1fr}.report-content-meta{gap:8px;display:grid}.report-content-count{justify-self:end}}.report-media-page{gap:12px;min-width:0;overflow-x:clip}.report-media-header{grid-template-columns:44px 1fr 44px;align-items:center;min-height:56px;display:grid}.report-media-header button{width:44px;height:44px;color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.report-media-header button svg{width:24px;height:24px}.report-media-header h1{color:var(--color-text-primary);text-align:center;margin:0;font-size:20px;font-weight:900;line-height:1.2}.report-media-intro{color:var(--color-text-secondary);word-break:keep-all;margin:-5px 2px 0;font-size:14px;line-height:1.5}.report-media-page .report-create-card{border-radius:var(--radius-card);gap:8px;padding:16px;box-shadow:0 10px 26px #16213a12}.report-media-summary-badges{flex-wrap:wrap;gap:8px;display:flex}.report-media-summary-badges span{border-radius:var(--radius-badge);border:1px solid #0000;align-items:center;min-height:28px;padding:4px 8px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.report-media-category-badge{color:var(--color-primary-hover);background:#2e6fe014;border-color:#2e6fe029}.report-media-situation-badge{color:var(--color-danger);background:#c63b3714;border-color:#c63b3729}.report-media-location,.report-media-content{gap:4px;margin-top:6px;display:grid}.report-media-content{border-top:1px solid var(--color-border);margin-top:6px;padding-top:16px}.report-media-location>span,.report-media-content>span{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.report-media-location svg,.report-media-content svg{width:17px;height:17px;color:var(--color-primary);flex:0 0 17px}.report-media-location strong{overflow-wrap:break-word;color:var(--color-text-primary);word-break:keep-all;font-size:14px;font-weight:600;line-height:1.45}.report-media-content p{overflow-wrap:anywhere;color:var(--color-text-primary);background:var(--color-surface-soft);word-break:break-word;-webkit-line-clamp:3;border-radius:12px;-webkit-box-orient:vertical;margin:0;padding:8px 12px;font-size:14px;font-weight:500;line-height:1.5;display:-webkit-box;overflow:hidden}.report-media-page .report-photo-mode-grid{gap:8px}.report-media-page .report-photo-mode-button{min-width:0;min-height:54px;color:var(--color-primary-hover);white-space:nowrap;border:1px solid #2e6fe040;justify-content:center;align-items:center;gap:8px;padding:0 8px;font-size:14px;display:inline-flex}.report-media-page .report-photo-mode-button svg{flex:0 0 20px;width:20px;height:20px}.report-media-page .report-photo-mode-button.selected{border-color:var(--color-primary);color:var(--color-primary-hover);background:#2e6fe014;box-shadow:0 0 0 2px #2e6fe01f}.report-media-page .report-create-muted{color:var(--color-text-secondary);word-break:keep-all;margin-top:2px;font-size:12px;line-height:1.45}.report-media-page .report-primary-button{color:#fff;background:var(--color-primary)}.report-media-page .report-primary-button:disabled{cursor:not-allowed;background:#2e6fe040}.report-media-page .report-create-actions{z-index:auto;margin-top:4px;padding-top:0;position:static;bottom:auto}.report-media-page .report-create-actions .report-primary-button{border-radius:14px;width:100%;min-height:50px}.report-media-page .report-media-preview p{overflow-wrap:anywhere;color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.45}.report-media-preview-actions{border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:2px;padding-top:12px;display:grid}.report-media-page .report-media-preview-actions .report-secondary-button{border:1px solid var(--color-primary);color:var(--color-primary);background:#fff}.report-media-page .report-photo-delete-button{min-height:56px;color:var(--color-danger);font:inherit;cursor:pointer;background:#fff;border:1px solid #c63b3747;border-radius:13px;font-weight:700}.report-media-page .report-secondary-button,.report-media-page .report-info-badge{color:var(--color-primary-hover);background:#2e6fe014}.report-media-page .report-photo-mode-button:focus-visible,.report-media-page button:focus-visible,.report-media-page .report-file-input:focus-visible+.report-file-button{outline-color:#2e6fe04d}@media (width<=360px){.report-media-page .report-photo-mode-button{gap:4px;min-height:52px;padding-inline:4px;font-size:13px}.report-media-page .report-photo-mode-button svg{flex-basis:18px;width:18px;height:18px}}.report-complete-page{align-content:center;min-height:calc(100dvh - 40px);padding:8px 0 24px}.report-complete-page .report-complete-card{border-color:#2e6fe01f;gap:16px;padding:20px 16px 16px;box-shadow:0 14px 34px #16213a17}.report-complete-page .report-complete-mark{color:#fff;background:var(--color-primary);width:56px;height:56px;box-shadow:0 10px 24px #2e6fe038}.report-complete-page .report-complete-mark svg{width:30px;height:30px}.report-complete-message{gap:4px;display:grid}.report-complete-page .report-complete-message h1{overflow-wrap:break-word;word-break:keep-all;max-width:100%;margin-inline:auto;font-size:24px;font-weight:700;line-height:1.35}.report-complete-page .report-complete-message p{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.45}.report-complete-page .report-summary-list{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-soft);text-align:left;grid-template-columns:1fr 1fr;gap:0;padding:0 16px}.report-complete-page .report-summary-list>div{grid-column:1/-1}.report-complete-page .report-summary-list>.report-summary-half{grid-column:auto}.report-complete-page .report-summary-list>.report-summary-half+.report-summary-half{padding-left:16px}.report-complete-page .report-summary-list div{border-bottom:1px solid var(--color-border);flex-direction:column;align-items:stretch;gap:4px;padding:12px 0;display:flex}.report-complete-page .report-summary-list div:last-child{border-bottom:0}.report-complete-page .report-summary-list dt{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.report-complete-page .report-summary-list dt svg{width:18px;height:18px;color:var(--color-primary);flex:0 0 18px}.report-complete-page .report-summary-list dd{overflow-wrap:break-word;width:100%;min-width:0;color:var(--color-text-primary);text-align:left;word-break:keep-all;font-size:15px;font-weight:600;line-height:1.45}.report-complete-actions{gap:8px;display:grid}.report-complete-page .report-primary-button,.report-complete-home-button{border-radius:14px;min-height:56px}.report-complete-page .report-primary-button{background:var(--color-primary)}.report-complete-home-button{border:1px solid var(--color-primary);color:var(--color-primary);font:inherit;cursor:pointer;background:#fff;font-weight:800}.report-complete-page button:focus-visible{outline-offset:2px;outline:3px solid #2e6fe047}@media (width<=360px){.report-complete-page .report-complete-card,.report-complete-page .report-summary-list{padding-inline:16px}}.report-type-page{padding-bottom:calc(24px + env(safe-area-inset-bottom));gap:8px}.report-type-header{grid-template-columns:44px 1fr 44px;align-items:center;min-height:56px;display:grid}.report-type-header button{width:44px;height:44px;color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.report-type-header button svg{width:24px;height:24px}.report-type-header h1{color:var(--color-text-primary);text-align:center;margin:0;font-size:20px;font-weight:900;line-height:1.2}.report-type-intro{color:var(--color-text-secondary);margin:-4px 2px 0;font-size:14px;line-height:1.5}.report-type-page .report-safety-box{background:#2e6fe014;border-color:#2e6fe029;grid-template-columns:auto 1fr;align-items:start;gap:8px;padding:12px 16px}.report-type-page .report-safety-box>div{gap:4px;display:grid}.report-type-page .report-safety-icon{width:22px;height:22px;color:var(--color-primary)}.report-type-page .report-safety-box p{color:var(--color-text-secondary);font-size:13px;line-height:1.45}.report-type-page .report-safety-box strong{color:var(--color-primary-hover)}.report-type-page .report-create-card{gap:8px;padding:16px}.report-type-page .report-classification-card,.report-type-page .report-content-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;padding:16px}.report-type-page .report-location-card{background:0 0;border:0;min-width:0;padding:0}.report-type-page .report-classification-card,.report-type-page .report-content-card{gap:8px;display:grid}.report-type-page .report-method-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.report-type-page .report-method-button{text-align:center;grid-template-columns:1fr;justify-items:center;gap:8px;min-width:0;min-height:94px;padding:8px;position:relative}.report-type-page .report-method-button.selected,.report-type-page .report-category-button.selected,.report-type-page .report-tag-button.selected{border-color:var(--color-primary);background:#2e6fe014;box-shadow:0 0 0 2px #2e6fe01f}.report-type-page .report-radio-dot{width:17px;height:17px;position:absolute;top:10px;left:10px}.report-type-page .report-method-button.selected .report-radio-dot{border-color:var(--color-primary)}.report-type-page .report-method-button.selected .report-radio-dot:after{background:var(--color-primary);width:7px;height:7px}.report-method-icon{width:28px;height:28px;color:var(--color-primary)}.report-method-copy{gap:4px;min-width:0;display:grid}.report-type-page .report-method-title{font-size:14px}.report-type-page .report-map-placeholder{background:0 0;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;min-height:0;padding:0}.report-type-page .report-location-map-frame{border:1px solid var(--color-border-strong);background:var(--color-border);border-radius:12px;min-width:0;height:200px;position:relative;overflow:hidden}.report-type-page .report-location-map{width:100%;height:100%}.report-type-page .report-location-pin{z-index:5;pointer-events:none;width:29px;height:42px;margin:-39px 0 0 -14px;position:absolute;top:50%;left:50%}.report-type-page .report-location-map-fallback{z-index:5;color:var(--color-text-tertiary);text-align:center;place-items:center;margin:0;padding:0 12px;font-size:12px;display:grid;position:absolute;inset:0}.report-type-page .report-location-status{background:0 0;grid-template-columns:minmax(0,1fr);align-content:center;align-items:center;gap:4px;padding:0}.report-type-page .report-location-status strong,.report-type-page .report-location-status p{grid-column:1}.report-type-page .report-location-status strong{white-space:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.report-type-page .report-location-status strong svg{flex:0 0 20px;width:20px;height:20px}.report-type-page .report-location-status .location-confirmed{color:var(--color-primary-hover)}.report-type-page .report-location-name{overflow-wrap:anywhere;color:var(--color-text-primary);font-size:14px;font-weight:800;line-height:1.35}.report-type-page .report-location-guide.is-blocked{color:var(--color-danger);font-weight:700}.report-type-page .report-location-guide{color:var(--color-text-secondary);font-size:11px;line-height:1.3}.report-type-page .report-location-status .report-secondary-button{min-height:28px;box-shadow:inset 0 0 0 2px var(--color-primary-soft);color:var(--color-primary-hover);background:var(--color-primary-light);grid-area:auto/1;justify-self:end;padding:0 10px;font-size:10px}.report-type-page .report-classification-group{gap:8px}.report-type-page .report-classification-group-separated{padding-top:8px}.report-type-page .report-category-grid,.report-type-page .report-tag-grid{gap:8px}.report-type-page .report-category-grid{flex-wrap:wrap;display:flex}.report-type-page .report-category-button{border-radius:var(--radius-badge);min-height:56px;color:var(--color-text-secondary);flex:none;justify-content:center;align-items:center;gap:4px;padding:0 12px;line-height:1.2;display:inline-flex}.report-type-page .report-category-icon{width:18px;height:18px;color:var(--color-text-secondary)}.report-type-page .report-category-button.selected .report-category-icon,.report-type-page .report-category-button.selected span{color:var(--color-primary-hover)}.report-type-page .report-tag-button{min-height:34px;color:var(--color-text-secondary)}.report-type-page .report-tag-button.selected{color:var(--color-primary-hover)}.report-type-page .report-category-button.selected:before{content:none}.report-type-page .report-content-textarea{min-height:112px}.report-type-page .report-content-textarea:focus{border-color:var(--color-primary);outline-color:#2e6fe02e}.report-type-page .report-primary-button{background:var(--color-primary)}.report-type-page .report-primary-button:disabled{background:#2e6fe040}.report-type-page .report-create-actions{padding-top:0;position:static}.report-type-page button:focus-visible,.report-type-page .report-tag-button:focus-visible{outline-color:#2e6fe04d}@media (width<=360px){.report-type-page .report-method-button{grid-template-columns:1fr;min-height:94px}.report-type-page .report-map-placeholder{gap:8px}.report-type-page .report-location-map-frame{height:170px}.report-type-page .report-category-button{min-height:40px;padding:0 8px;font-size:12px}.report-type-page .report-location-status strong{font-size:12px}}.situation-page{max-width:430px;padding:0 0 calc(24px + env(safe-area-inset-bottom));color:var(--color-text-primary);gap:16px;margin:0 auto;display:grid}.situation-header{justify-content:space-between;align-items:center;gap:16px;padding:4px;display:flex}.situation-header p,.filter-sheet-header p,.selected-area-header p,.section-title-row p{color:var(--color-text-secondary);margin:0;font-size:13px}.situation-header h1,.filter-sheet-header h2,.selected-area-header h2,.section-title-row h2{color:var(--color-text-primary);letter-spacing:0;margin:0;font-size:24px;line-height:1.2}.filter-icon-button,.section-title-row button,.filter-sheet button,.selected-area-header button,.map-controls button,.report-card-actions button{border-radius:var(--radius-badge);min-height:56px;color:var(--color-text-primary);cursor:pointer;background:#fff;border:0;font-weight:700}.location-search-area{z-index:4;flex:1;min-width:0;position:relative}.location-search-field{border:1px solid var(--color-border);border-radius:var(--radius-badge);background:#fff;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;width:100%;min-width:0;min-height:50px;padding:0 16px;display:grid;box-shadow:0 10px 28px #16213a0f}.search-icon{border:2px solid var(--color-success);border-radius:50%;width:15px;height:15px;position:relative}.search-icon:after{content:"";border-radius:var(--radius-badge);background:var(--color-success);width:7px;height:2px;position:absolute;bottom:-5px;right:-6px;transform:rotate(45deg)}.location-search-field input{width:100%;min-width:0;color:var(--color-text-primary);background:0 0;border:0;outline:0;font-size:16px}.search-clear-button{min-width:32px;min-height:32px;color:var(--color-primary);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:18px;display:grid}.filter-icon-button{width:56px;min-width:56px;color:var(--color-text-secondary);background:var(--color-success-light);flex:0 0 56px;place-items:center;padding:0;display:inline-grid;position:relative}.filter-funnel-icon{width:21px;height:21px;display:block}.location-suggestions{border:1px solid var(--color-border);background:#fff;border-radius:16px;gap:0;max-height:260px;margin:0;padding:8px;list-style:none;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 36px #16213a24}.location-suggestions button{width:100%;color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;gap:4px;padding:12px;display:grid}.location-suggestions button.active,.location-suggestions button:hover{background:var(--color-success-light)}.location-suggestions span,.suggestion-message{color:var(--color-text-secondary);font-size:13px}.suggestion-message{gap:4px;margin:0;padding:12px;display:grid}.location-suggestions li+li{border-top:1px solid var(--color-border)}.suggestion-message strong{color:var(--color-text-primary);font-size:13px}.suggestion-message span{color:var(--color-text-secondary);font-size:12px}.selected-area-header,.area-map,.area-status-content{border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;gap:16px;padding:16px;display:grid;box-shadow:0 12px 28px #16213a12}.selected-area-header{grid-template-columns:1fr auto;align-items:start;gap:8px;padding:12px 16px}.selected-area-header>div:first-child{min-width:0}.selected-area-header h2{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;word-break:keep-all;font-size:19px;font-weight:700;line-height:1.3;overflow:hidden}.selected-area-header span{color:var(--color-text-secondary);margin-top:3px;font-size:13px;display:block}.selected-area-address{overflow-wrap:break-word;word-break:keep-all;line-height:1.4}.selected-area-header .selected-area-time{word-break:keep-all;margin-top:6px;font-size:12px;line-height:1.4}.selected-area-header button,.section-title-row button,.filter-sheet .primary{color:#fff;background:var(--color-success);padding:0 16px}.selected-area-actions{justify-items:end;gap:8px;display:grid}.selected-area-actions .favorite-star-button{width:56px;min-width:56px;min-height:56px;color:var(--color-primary);background:#fff;border:1px solid #2e6fe033;place-items:center;padding:0;display:grid}.selected-area-actions .favorite-star-button.active{color:var(--color-primary);background:#2e6fe014;border-color:#2e6fe047}.selected-area-actions .favorite-star-button svg{width:21px;height:21px}.favorite-feedback{color:var(--color-success);background:var(--color-success-light);border-radius:12px;grid-column:1/-1;margin:0;padding:8px 12px;font-size:13px;font-weight:700}.section-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title-row.compact h2{font-size:19px}.situation-content-section{gap:8px;min-width:0;display:grid}.situation-section-title,.area-status-section .section-title-row h2,.live-report-section .section-title-row h2{color:var(--color-text-primary);margin:0;font-size:20px;font-weight:700;line-height:1.3}.area-status-content{padding:16px}.map-legend-notes{gap:4px;display:grid}.map-legend-notes p{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.45}.situation-toolbar{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.report-sort-select{flex:none;position:relative}.sort-icon-button{border:1px solid var(--color-border);width:56px;min-width:56px;height:56px;color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:50%;place-items:center;padding:0;display:inline-grid}.sort-arrow-icon{width:21px;height:21px;display:block}.sort-dropdown{z-index:20;border:1px solid var(--color-border);background:#fff;border-radius:14px;gap:4px;width:168px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 36px #16213a24}.sort-dropdown button{width:100%;min-height:40px;color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:0 8px;font-weight:700;display:flex}.sort-dropdown button.selected,.sort-dropdown button:hover{color:var(--color-success);background:var(--color-success-light)}.selected-filter-chips{flex-wrap:wrap;gap:8px;display:flex}.selected-filter-chips span{border-radius:var(--radius-badge);color:var(--color-success);background:var(--color-success-light);padding:8px;font-size:12px;font-weight:700}.report-card-list{gap:16px;display:grid}.live-report-card{border:1px solid var(--color-border);border-radius:var(--radius-card);cursor:pointer;background:#fff;grid-template-columns:112px 1fr;gap:16px;min-width:0;padding:12px;display:grid}.live-report-card:focus-visible,.location-suggestions button:focus-visible,.sort-icon-button:focus-visible,.sort-dropdown button:focus-visible,.filter-sheet button:focus-visible,.report-card-actions button:focus-visible,.map-marker:focus-visible{outline-offset:2px;outline:3px solid #3b7f5b47}.report-thumbnail{background:var(--color-border);border-radius:16px;min-height:132px;position:relative;overflow:hidden}.report-thumbnail img,.thumbnail-placeholder{object-fit:cover;width:100%;height:100%;min-height:132px}.thumbnail-placeholder{color:var(--color-text-secondary);background:linear-gradient(135deg, #ffffff8c 25%, transparent 25%) 0 0 / 16px 16px, linear-gradient(135deg, transparent 75%, #ffffff8c 75%) 0 0 / 16px 16px, var(--color-border);place-items:center;font-size:12px;font-weight:800;display:grid}.webrtc-tag,.risk-badge{border-radius:var(--radius-badge);align-items:center;min-height:24px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.webrtc-tag{color:var(--color-text-primary);background:#ffffffe6;position:absolute;bottom:8px;right:8px}.report-relative-time{color:#fff;text-align:center;background:#16213aad;place-items:center;min-height:30px;padding:4px 8px;font-size:11px;font-weight:800;line-height:1.3;display:grid;position:absolute;bottom:0;left:0;right:0}.report-card-content{gap:4px;min-width:0;padding-right:58px;display:grid;position:relative}.report-card-badges{flex-wrap:wrap;gap:8px;display:flex}.risk-critical,.status-critical{color:var(--color-danger);background:var(--color-danger-light)}.risk-high,.status-high{color:var(--color-warning);background:var(--color-warning-light)}.risk-medium,.status-medium{color:var(--color-info);background:var(--color-info-light)}.risk-low,.status-low{color:var(--color-success);background:var(--color-success-light)}.report-category,.report-meta,.report-time,.report-description,.share-feedback{color:var(--color-text-secondary);margin:0;font-size:13px}.report-category{color:var(--color-success);font-weight:800}.report-meta,.report-time{overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;display:flex}.report-meta svg,.report-time svg{width:18px;height:18px;color:var(--color-primary);flex:0 0 18px}.live-report-card h3{color:var(--color-text-primary);letter-spacing:0;margin:0;font-size:16px;line-height:1.3}.report-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.report-card-actions{justify-content:flex-end;align-items:center;gap:8px;margin:0;display:flex;position:absolute;top:0;right:0;transform:none}.report-card-actions button{min-width:30px;min-height:30px;color:var(--color-success);background:0 0;align-items:center;padding:0 4px;font-size:11px;display:inline-flex}.report-card-actions button svg{width:19px;height:19px;display:block}.share-feedback{color:var(--color-success);font-weight:700}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.section-title-row .refresh-icon-button{box-sizing:border-box;aspect-ratio:1;border-radius:50%;flex:none;place-items:center;width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;max-height:44px;padding:0;font-size:16px;line-height:1;display:inline-grid}.refresh-icon{place-items:center;width:1em;height:1em;display:inline-grid}.refresh-icon.spinning{animation:.8s linear infinite refresh-spin}@keyframes refresh-spin{to{transform:rotate(360deg)}}.status-item{background:var(--color-surface-soft);border-radius:14px;gap:4px;padding:12px;display:grid}.area-status-sources{gap:6px;display:grid}.area-status-source{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.4}.status-item span{color:var(--color-text-secondary);font-size:12px}.status-item strong{color:var(--color-text-primary);font-size:16px}.map-placeholder{background:linear-gradient(90deg,#ffffffa6 1px,#0000 1px) 0 0/34px 34px,linear-gradient(#ffffffa6 1px,#0000 1px) 0 0/34px 34px,#d7e9e6;border-radius:18px;min-height:240px;position:relative;overflow:hidden}.map-placeholder-content{background:linear-gradient(90deg,#ffffffa6 1px,#0000 1px) 0 0/34px 34px,linear-gradient(#ffffffa6 1px,#0000 1px) 0 0/34px 34px,#d7e9e6;position:absolute;inset:0}.map-center-label{z-index:2;border-radius:var(--radius-badge);color:#fff;background:var(--color-text-primary);padding:8px;font-size:12px;font-weight:800;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 22px #16213a3d}.map-data-summary{flex-wrap:wrap;gap:8px;display:flex}.map-data-summary span{color:var(--color-text-secondary);font-size:13px}.map-zone{text-align:center;opacity:.82;border:2px solid;border-radius:50%;place-items:center;padding:8px;font-size:11px;font-weight:800;display:grid;position:absolute}.map-marker{border:2px solid #fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;font-weight:900;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 22px #16213a38}.map-marker-popover{background:#fff;border-radius:14px;gap:4px;width:min(230px,100% - 28px);padding:12px;display:grid;position:absolute;bottom:14px;right:14px;box-shadow:0 14px 28px #16213a29}.map-marker-popover span{color:var(--color-text-secondary);font-size:12px}.map-controls{gap:8px;display:flex}.map-controls button{width:36px;min-height:36px;color:var(--color-success);background:var(--color-success-light)}.situation-state{text-align:center;border-radius:16px;margin:0;padding:16px}.situation-state.empty{color:var(--color-text-secondary);background:var(--color-surface-soft)}.situation-state.error{color:var(--color-danger);background:var(--color-danger-light);gap:8px;display:grid}.situation-state.error p{margin:0}.situation-state.error button{border-radius:var(--radius-badge);color:#fff;background:var(--color-danger);border:0;width:fit-content;margin:0 auto;padding:8px 12px;font-weight:700}.report-skeleton-list{gap:12px;display:grid}.report-skeleton{border-radius:var(--radius-card);background:#fff;grid-template-columns:92px 1fr;gap:12px;padding:12px;display:grid}.report-skeleton div,.report-skeleton span{background:linear-gradient(90deg, var(--color-surface-secondary), var(--color-background), var(--color-surface-secondary));border-radius:14px}.report-skeleton div{grid-row:span 2;height:96px}.filter-sheet-backdrop{z-index:40;background:#16213a5c;align-items:end;display:grid;position:fixed;inset:0}.filter-sheet{width:min(100%,430px);padding:20px 20px calc(20px + env(safe-area-inset-bottom));border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:#fff;outline:0;gap:16px;margin:0 auto;display:grid}.filter-sheet-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-sheet-header button,.filter-sheet .secondary{color:var(--color-text-secondary);background:var(--color-surface-soft);padding:0 16px}.filter-options{gap:8px;display:grid}.filter-options label{border:1px solid var(--color-border);min-height:56px;color:var(--color-text-primary);cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:8px;padding:0 16px;display:flex}.filter-options label.selected{border-color:var(--color-success);background:var(--color-success-light);font-weight:800}.filter-options input{width:18px;height:18px;accent-color:var(--color-success)}.filter-sheet-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.report-detail-page{padding-top:4px}.report-detail-header{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.report-detail-header h1{color:var(--color-text-primary);text-align:center;margin:0;font-size:20px}.report-detail-header button,.inline-action-button{border-radius:var(--radius-badge);min-height:56px;color:var(--color-success);background:var(--color-success-light);cursor:pointer;border:0;padding:0 16px;font-weight:800}.report-detail-header button:first-child{color:var(--color-text-primary);background:0 0}.report-detail-header button:first-child svg{width:24px;height:24px;display:block}.report-detail-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;gap:16px;padding:16px;display:grid;box-shadow:0 12px 28px #16213a12}.report-detail-card h2{color:var(--color-text-primary);letter-spacing:0;margin:0;font-size:18px}.report-detail-media{background:var(--color-border);border-radius:16px;min-height:220px;position:relative;overflow:hidden}.report-detail-media img,.report-detail-media .thumbnail-placeholder{object-fit:cover;width:100%;min-height:220px}.report-detail-body{gap:8px;display:grid}.report-detail-body h2{color:var(--color-text-primary);margin:0;font-size:22px;line-height:1.3}.report-detail-list{gap:8px;margin:0;display:grid}.report-detail-list div{gap:4px;display:grid}.report-detail-list dt{color:var(--color-text-secondary);font-size:12px;font-weight:700}.report-detail-list dd{color:var(--color-text-primary);margin:0;font-size:14px}.report-description.detail{color:var(--color-text-primary);-webkit-line-clamp:unset;display:block}.analysis-status-row{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.muted-text{color:var(--color-text-secondary);margin:0;font-size:14px}.webrtc-tag.static{position:static}@media (width<=380px){.live-report-card{grid-template-columns:1fr}.report-thumbnail,.report-thumbnail img,.thumbnail-placeholder{min-height:170px}.status-grid{gap:8px}.status-item{padding:8px}.status-item span{font-size:11px}.status-item strong{font-size:15px}}.situation-page:not(.report-detail-page){--situation-primary:var(--color-primary-hover);--situation-primary-light:#2e6fe014;--situation-primary-border:#2e6fe02e;min-width:0;overflow-x:clip}.situation-page-header{grid-template-columns:44px 1fr 44px;align-items:center;min-height:56px;display:grid}.situation-page-header button{width:44px;height:44px;color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.situation-page-header button svg{width:24px;height:24px}.situation-page-header h1{color:var(--color-text-primary);text-align:center;margin:0;font-size:20px;line-height:1.2}.situation-intro{gap:4px;padding:4px 4px 0;display:grid}.situation-intro p{color:var(--color-text-secondary);margin:0;font-size:12px}.situation-page:not(.report-detail-page) .search-icon{border-color:var(--situation-primary)}.situation-page:not(.report-detail-page) .search-icon:after{background:var(--situation-primary)}.situation-page:not(.report-detail-page) .location-search-field:focus-within{border-color:var(--situation-primary);box-shadow:0 0 0 3px #2e6fe01f}.situation-page:not(.report-detail-page) .filter-icon-button,.situation-page:not(.report-detail-page) .sort-icon-button{border:1px solid var(--situation-primary-border);color:var(--situation-primary);background:#fff}.situation-page:not(.report-detail-page) .filter-icon-button.active,.situation-page:not(.report-detail-page) .sort-icon-button.active{border-color:var(--situation-primary);color:#fff;background:var(--situation-primary)}.situation-page:not(.report-detail-page) .location-suggestions button.active,.situation-page:not(.report-detail-page) .location-suggestions button:hover,.situation-page:not(.report-detail-page) .sort-dropdown button.selected,.situation-page:not(.report-detail-page) .sort-dropdown button:hover,.situation-page:not(.report-detail-page) .selected-filter-chips span,.situation-page:not(.report-detail-page) .report-category,.situation-page:not(.report-detail-page) .share-feedback{color:var(--situation-primary);background:var(--situation-primary-light)}.situation-page:not(.report-detail-page) .report-category,.situation-page:not(.report-detail-page) .share-feedback{background:0 0}.situation-page:not(.report-detail-page) .selected-area-header button:not(.favorite-star-button),.situation-page:not(.report-detail-page) .section-title-row button,.situation-page:not(.report-detail-page) .filter-sheet .primary{color:#fff;background:var(--situation-primary)}.situation-page:not(.report-detail-page) .favorite-feedback,.situation-page:not(.report-detail-page) .report-card-actions button,.situation-page:not(.report-detail-page) .map-controls button{color:var(--situation-primary);background:var(--situation-primary-light)}.situation-page:not(.report-detail-page) .webrtc-tag{color:var(--situation-primary);background:#ffffffeb}.situation-page:not(.report-detail-page) .filter-options label.selected{border-color:var(--situation-primary);color:var(--situation-primary);background:var(--situation-primary-light)}.situation-page:not(.report-detail-page) .filter-options input{accent-color:var(--situation-primary)}.situation-page:not(.report-detail-page) .live-report-card:focus-visible,.situation-page:not(.report-detail-page) .location-suggestions button:focus-visible,.situation-page:not(.report-detail-page) .sort-icon-button:focus-visible,.situation-page:not(.report-detail-page) .filter-icon-button:focus-visible,.situation-page:not(.report-detail-page) .filter-sheet button:focus-visible,.situation-page:not(.report-detail-page) .report-card-actions button:focus-visible,.situation-page-header button:focus-visible{outline-offset:2px;outline:3px solid #2e6fe040}.situation-page:not(.report-detail-page) .live-report-card h3,.situation-page:not(.report-detail-page) .report-meta,.situation-page:not(.report-detail-page) .report-description{overflow-wrap:anywhere}.situation-page:not(.report-detail-page) .report-thumbnail img,.situation-page:not(.report-detail-page) .thumbnail-placeholder{aspect-ratio:4/5}.situation-page:not(.report-detail-page) .map-placeholder,.situation-page:not(.report-detail-page) .map-placeholder-content{background:linear-gradient(90deg,#ffffffb8 1px,#0000 1px) 0 0/34px 34px,linear-gradient(#ffffffb8 1px,#0000 1px) 0 0/34px 34px,#2e6fe014}.situation-page:not(.report-detail-page) .area-map{gap:12px;padding:16px}.situation-page:not(.report-detail-page) .map-data-summary{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.situation-page:not(.report-detail-page) .map-data-summary>span{background:#2e6fe00f;border-radius:11px;align-content:center;gap:4px;min-width:0;min-height:52px;padding:8px;display:grid}.situation-page:not(.report-detail-page) .map-data-summary small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.2;overflow:hidden}.situation-page:not(.report-detail-page) .map-data-summary strong{color:var(--color-primary-hover);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;line-height:1.3;overflow:hidden}.situation-page:not(.report-detail-page) .map-placeholder{min-height:250px}.situation-page:not(.report-detail-page) .map-zone{word-break:keep-all;padding:8px;line-height:1.2}.situation-page:not(.report-detail-page) .report-card-actions button{color:var(--color-primary-hover);background:0 0}.situation-page:not(.report-detail-page) .live-report-section{box-shadow:none;background:0 0;border:0;border-radius:0;gap:8px;padding:0}.situation-page:not(.report-detail-page) .live-report-section .section-title-row>div{justify-content:space-between;align-items:baseline;gap:12px;width:100%;display:flex}.situation-page:not(.report-detail-page) .live-report-section .section-title-row h2{font-size:20px}.situation-page:not(.report-detail-page) .live-report-section .section-title-row p{flex:none;font-size:12px}.situation-page:not(.report-detail-page) .report-card-list{gap:12px}.situation-page:not(.report-detail-page) .live-report-card{border-color:var(--color-border);background:var(--color-surface-secondary);box-shadow:none;gap:12px;padding:8px}.situation-page:not(.report-detail-page) .report-thumbnail,.situation-page:not(.report-detail-page) .report-thumbnail img,.situation-page:not(.report-detail-page) .thumbnail-placeholder{min-height:120px}.situation-page:not(.report-detail-page) .report-card-content{gap:4px;padding-right:0}.situation-page:not(.report-detail-page) .report-card-badges{padding-right:32px}.situation-page:not(.report-detail-page) .live-report-card h3{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;line-height:1.3;display:-webkit-box;overflow:hidden}.situation-page:not(.report-detail-page) .report-card-actions{right:-3px}.situation-page:not(.report-detail-page) .report-category,.situation-page:not(.report-detail-page) .report-meta,.situation-page:not(.report-detail-page) .report-time{font-size:13px}.situation-page:not(.report-detail-page) .report-time{white-space:nowrap}.situation-page:not(.report-detail-page) .live-report-card{border-color:var(--color-border);border-radius:var(--radius-card);background:#fff;grid-template-columns:104px minmax(0,1fr);gap:0;min-height:112px;padding:0;overflow:hidden;box-shadow:0 5px 18px #16213a0d}.situation-page:not(.report-detail-page) .report-thumbnail,.situation-page:not(.report-detail-page) .report-thumbnail img,.situation-page:not(.report-detail-page) .thumbnail-placeholder{aspect-ratio:auto;border-radius:0;width:104px;height:100%;min-height:112px}.situation-page:not(.report-detail-page) .report-thumbnail{border-right:1px solid var(--color-border);background:var(--color-surface-soft)}.situation-page:not(.report-detail-page) .report-thumbnail>.risk-badge{z-index:2;white-space:nowrap;min-height:0;padding:4px 8px;font-size:10px;line-height:1;position:absolute;top:8px;left:8px}.situation-page:not(.report-detail-page) .report-relative-time{border-radius:var(--radius-badge);min-height:0;color:var(--color-text-secondary);white-space:nowrap;background:#ffffffeb;padding:4px 8px;font-size:10px;line-height:1;display:block;bottom:8px;left:auto;right:8px;box-shadow:0 2px 8px #16213a1a}.situation-page:not(.report-detail-page) .report-card-content{align-content:center;gap:8px;padding:16px}.situation-page:not(.report-detail-page) .report-list-meta,.situation-page:not(.report-detail-page) .report-card-content>time{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;line-height:1.4;overflow:hidden}.situation-page:not(.report-detail-page) .report-card-content>time{color:var(--color-text-tertiary)}.situation-page:not(.report-detail-page) .live-report-card h3{text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.4;display:block;overflow:hidden}@media (width<=380px){.situation-page:not(.report-detail-page) .live-report-card{grid-template-columns:94px minmax(0,1fr)}.situation-page:not(.report-detail-page) .report-thumbnail,.situation-page:not(.report-detail-page) .report-thumbnail img,.situation-page:not(.report-detail-page) .thumbnail-placeholder{width:94px;min-height:112px}}.report-detail-page{color:var(--color-text-primary);gap:16px;padding-top:0}.report-detail-page .page-header__action .report-detail-share{width:32px;height:32px;min-height:32px;color:var(--color-primary);cursor:pointer;background:0 0;border:1px solid #2e6fe033;border-radius:50%;padding:0}.report-detail-page .page-header__action .report-detail-share svg{width:18px;height:18px}.report-detail-page .page-header__action .report-detail-share:disabled{opacity:.45;cursor:not-allowed}.report-detail-page .report-detail-header{grid-template-columns:44px 1fr 44px;gap:0;min-height:56px}.report-detail-page .report-detail-header h1{color:var(--color-text-primary);font-size:20px;font-weight:800}.report-detail-page .report-detail-header button{background:0 0;border:0;border-radius:0;place-items:center;width:44px;height:44px;min-height:44px;padding:0;display:grid}.report-detail-page .report-detail-header button:first-child{color:var(--color-text-primary)}.report-detail-page .report-detail-header .report-detail-share{color:var(--color-primary)}.report-detail-page .report-detail-header button svg{width:24px;height:24px}.report-detail-page .report-detail-header button:focus-visible,.report-detail-page .map-marker:focus-visible{outline-offset:2px;outline:3px solid #2e6fe040}.report-detail-page .report-detail-card,.report-detail-page .area-map{border:1px solid var(--color-border);border-radius:var(--radius-card);background:#fff;gap:16px;padding:20px;box-shadow:0 7px 22px #16213a0e}.report-detail-content-section{gap:8px;min-width:0;display:grid}.report-detail-summary{gap:16px;min-width:0;display:grid}.report-detail-section-title{color:var(--color-text-primary);margin:0;font-size:22px;font-weight:700;line-height:1.3}.report-detail-id{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;font-weight:700;line-height:1.3;overflow:hidden}.report-detail-page .report-detail-media{border-radius:18px;min-height:220px}.report-detail-page .report-detail-body{gap:16px}.report-detail-page .report-category{color:var(--color-primary-hover);margin:0;font-size:14px;font-weight:800}.report-detail-page .report-detail-body h2{overflow-wrap:anywhere;color:var(--color-text-primary);font-size:21px}.report-detail-page .report-detail-list{gap:0}.report-detail-page .report-detail-list div{grid-template-columns:minmax(0,1fr);align-items:start;gap:4px;padding:12px 0}.report-detail-page .report-detail-list div:first-child{padding-top:0}.report-detail-page .report-detail-list div:last-child{padding-bottom:0}.report-detail-page .report-detail-list dt{color:var(--color-text-secondary);align-items:center;gap:4px;font-size:13px;font-weight:500;display:flex}.report-detail-page .report-detail-list dt svg{width:18px;height:18px;color:var(--color-primary);flex:0 0 18px}.report-detail-page .report-detail-list dd{overflow-wrap:anywhere;min-width:0;color:var(--color-text-primary);font-size:16px;font-weight:600;line-height:1.5}.report-detail-page .report-date-row dd{white-space:nowrap;word-break:keep-all;font-size:clamp(13px,3.8vw,16px)}.report-detail-page .report-description.detail{color:var(--color-text-secondary);background:var(--color-surface-soft);overflow-wrap:anywhere;border-radius:14px;margin:2px 0 0;padding:16px;font-size:14px;font-weight:400;line-height:1.7}.report-detail-page .analysis-status-row{border-bottom:0;gap:8px;padding-bottom:4px}.report-detail-page .analysis-complete-badge{border-radius:var(--radius-badge);color:var(--color-primary-hover);background:#2e6fe014;padding:4px 8px;font-size:11px;font-weight:800}.report-detail-page .analysis-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.report-detail-page .analysis-metric{background:#2e6fe014;border-radius:14px;gap:4px;min-width:0;padding:12px;display:grid}.report-detail-page .analysis-metric dt{color:var(--color-text-secondary);align-items:center;gap:4px;font-size:13px;font-weight:500;display:flex}.report-detail-page .analysis-metric dt svg{width:18px;height:18px;color:var(--color-primary);flex:0 0 18px}.report-detail-page .analysis-metric dd{overflow-wrap:anywhere;min-width:0;color:var(--color-text-primary);margin:0;font-size:16px;font-weight:600;line-height:1.4}.report-detail-page .analysis-source{color:var(--color-text-secondary);margin:6px 0 0;font-size:12px;line-height:1.5}.report-detail-page .area-map .section-title-row h2{color:var(--color-primary)}.report-detail-page .area-map .section-title-row p,.report-detail-page .map-data-summary span{color:var(--color-primary-hover)}.report-detail-page .map-placeholder,.report-detail-page .map-placeholder-content{background:linear-gradient(90deg,#ffffffb8 1px,#0000 1px) 0 0/34px 34px,linear-gradient(#ffffffb8 1px,#0000 1px) 0 0/34px 34px,#2e6fe014}.report-detail-page .map-center-label{background:var(--color-primary)}.report-detail-page .map-zone{color:var(--color-primary-hover)}.report-detail-page .map-marker{color:#fff;background:var(--color-primary)}.report-detail-page .report-detail-map .map-data-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.report-detail-page .report-detail-map .map-data-summary span{min-width:0;color:var(--color-text-secondary);background:#2e6fe00f;border-radius:12px;gap:4px;padding:8px;font-size:10px;display:grid}.report-detail-page .report-detail-map .map-data-summary strong{overflow-wrap:anywhere;color:var(--color-primary-hover);font-size:12px}.report-detail-page .report-detail-map .map-placeholder{background:var(--color-success-light);border:1px solid #2e6fe01f;min-height:320px}.report-detail-page .report-detail-map .map-placeholder-content{background:linear-gradient(28deg, transparent 46%, #ffffffeb 47% 53%, transparent 54%), linear-gradient(102deg, transparent 43%, #ffffffe0 44% 50%, transparent 51%), var(--color-success-light);overflow:hidden}.report-detail-map .map-block,.report-detail-map .map-park,.report-detail-map .map-road{display:block;position:absolute}.report-detail-map .map-block{background:var(--color-success-light);border:1px solid #d7ddd7;border-radius:8px;box-shadow:inset 0 0 0 4px #e7eae6b3}.report-detail-map .block-a{width:27%;height:24%;top:8%;left:6%;transform:rotate(-5deg)}.report-detail-map .block-b{width:31%;height:27%;top:12%;right:7%;transform:rotate(4deg)}.report-detail-map .block-c{width:30%;height:24%;bottom:8%;right:14%;transform:rotate(-7deg)}.report-detail-map .map-park{width:25%;height:26%;color:var(--color-success);background:var(--color-success-light);border-radius:40% 55% 45% 50%;padding:12px;font-size:10px;font-weight:700;bottom:9%;left:7%}.report-detail-map .map-road{z-index:1;border-radius:var(--radius-badge);box-shadow:0 0 0 1px var(--color-success-light), inset 0 0 0 3px var(--color-warning-light);background:#fff}.report-detail-map .road-a{width:118%;height:18px;top:49%;left:-8%;transform:rotate(-8deg)}.report-detail-map .road-b{width:16px;height:122%;top:-10%;left:47%;transform:rotate(12deg)}.report-detail-map .current-location-pin{z-index:4;justify-items:center;display:grid;position:absolute;top:65%;left:34%;transform:translate(-50%,-50%)}.report-detail-map .current-location-pin i{background:var(--color-primary);border:4px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 7px #2e6fe029,0 5px 12px #2e6fe047}.report-detail-map .current-location-pin b,.report-detail-map .map-marker b{color:var(--color-text-primary);white-space:nowrap;background:#ffffffeb;border-radius:7px;margin-top:9px;padding:4px 8px;font-size:10px;box-shadow:0 3px 10px #16213a1f}.report-detail-page .report-detail-map .map-marker{z-index:5;color:#fff;background:var(--color-danger);border:3px solid #fff;width:30px;height:30px;box-shadow:0 0 0 8px #c63b3724,0 6px 14px #c63b3747}.report-detail-map .map-marker>span{font-size:16px;line-height:1}.report-detail-map .map-marker b{position:absolute;top:28px;left:50%;transform:translate(-50%)}.report-detail-page .report-detail-map .map-marker-popover{border:1px solid #c63b3729;width:min(190px,100% - 20px);padding:8px;bottom:10px;right:10px;box-shadow:0 6px 16px #16213a1f}.report-detail-map .map-distance-summary{background:#2e6fe014;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:16px;display:grid}.report-detail-map .map-distance-summary small{color:var(--color-text-secondary);grid-column:1/-1}.report-detail-map .map-distance-summary strong{color:var(--color-primary-hover);font-size:14px}.report-detail-map .map-distance-summary span{color:var(--color-text-secondary);font-size:12px}.report-detail-page>.share-feedback{color:var(--color-primary-hover);text-align:right;background:0 0;margin:-8px 0 0}@media (width<=370px){.report-detail-page .report-detail-card,.report-detail-page .area-map{padding:16px}.report-detail-page .report-detail-list div{grid-template-columns:minmax(0,1fr);gap:4px}.report-detail-page .analysis-metric-grid{grid-template-columns:minmax(0,1fr)}.report-detail-page .report-detail-map .map-data-summary{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:4px}.report-detail-page .report-detail-map .map-data-summary span{padding:8px}.report-detail-map .map-distance-summary{grid-template-columns:1fr}}.situation-map-frame{border:1px solid var(--color-border);background:#fff;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 12px 28px #16213a12}.situation-map{width:100%;height:clamp(360px,48vh,440px)}.situation-map-overlays{z-index:5;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.situation-map-overlays>*{pointer-events:auto}.situation-map-message{color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#16213ac7;border-radius:999px;align-self:center;max-width:100%;margin:0;padding:8px 16px;font-size:13px;overflow:hidden}.map-legend-scale{border:1px solid var(--color-border);background:#ffffffed;border-radius:10px;grid-template-columns:repeat(3,auto);justify-content:end;gap:4px 8px;max-width:100%;margin:0;padding:6px 8px;list-style:none;display:grid;box-shadow:0 4px 10px #16213a29}.map-legend-scale li{color:var(--color-text-primary);white-space:nowrap;align-items:center;gap:4px;font-size:11px;font-weight:700;display:inline-flex}.map-legend-scale__swatch{border-radius:2px;width:8px;height:8px}.situation-map-recenter{border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-primary);cursor:pointer;background:#ffffffe6;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:0 4px 10px #16213a29}.situation-map-recenter:disabled{color:var(--color-disabled-text);cursor:not-allowed}.situation-map-recenter svg{width:22px;height:22px}.situation-map-current{background:var(--color-info);border:3px solid #fff;border-radius:50%;width:16px;height:16px;display:block;box-shadow:0 0 0 6px #2e6fe040}.situation-map-marker{color:#fff;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:2px solid #fff;border-radius:999px;place-items:center;min-width:30px;max-width:130px;height:30px;padding:0 10px;font-size:13px;font-weight:800;display:grid;overflow:hidden;box-shadow:0 4px 10px #16213a59}.situation-map-group{z-index:6;border:1px solid var(--color-border);background:#fff;border-radius:14px;gap:8px;max-height:220px;padding:12px;display:grid;position:absolute;bottom:12px;left:12px;right:12px;overflow-y:auto;box-shadow:0 12px 28px #16213a2e}.situation-map-group__heading{justify-content:space-between;align-items:center;font-size:14px;display:flex}.situation-map-group__heading button{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;font-size:18px}.situation-map-group ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.situation-map-group li button{border:1px solid var(--color-border);background:var(--color-surface-soft);text-align:left;cursor:pointer;border-radius:10px;grid-template-columns:auto 1fr;gap:4px 8px;width:100%;padding:8px;display:grid}.situation-map-group__risk{color:#fff;border-radius:999px;grid-row:1/3;align-self:center;padding:4px 8px;font-size:11px;font-weight:800}.situation-map-group__title{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.situation-map-group__meta{color:var(--color-text-secondary);font-size:12px}.login-page{min-height:100dvh;padding:max(32px, env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom));color:var(--color-text-primary);background:#fff}.login-page__inner{width:min(100%,390px);margin:0 auto}.login-brand{text-align:center;flex-direction:column;align-items:center;padding:clamp(20px,6vh,56px) 0 46px;display:flex}.login-brand__logo{width:68px;color:var(--color-primary);filter:drop-shadow(0 8px 14px #2e6fe021)}.safy-logo svg,.safy-logo img{width:100%;height:auto;display:block}.login-brand h1{color:var(--color-primary);letter-spacing:-.05em;margin:10px 0 6px;font-size:40px;line-height:1}.login-brand strong{color:var(--color-primary-hover);letter-spacing:.08em;font-size:14px}.login-brand p{color:var(--color-text-secondary);margin:8px 0 0;font-size:14px}.login-form{gap:24px;display:grid}.login-success{color:var(--color-success);background:var(--color-success-light);text-align:center;border-radius:10px;margin:-8px 0 0;padding:12px 16px;font-size:13px;line-height:1.5}.login-field{gap:8px;display:grid}.login-field label{font-size:14px;font-weight:700}.login-field input:not([type=checkbox]){border:1px solid var(--color-border-strong);width:100%;height:52px;color:var(--color-text-primary);background:#fff;border-radius:12px;outline:none;padding:0 16px;transition:border-color .15s,box-shadow .15s}.login-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2e6fe01a}.login-field input[aria-invalid=true]{border-color:var(--color-danger)}.login-field__error{color:var(--color-danger);margin:0;font-size:12px}.login-password{position:relative}.login-password input{padding-right:52px!important}.login-password button{width:56px;height:56px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.login-password svg{width:21px;height:21px}.login-options{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-top:-4px;font-size:13px;display:flex}.login-options label{cursor:pointer;align-items:center;gap:8px;display:flex}.login-options input{width:17px;height:17px;accent-color:var(--color-primary)}.login-options button,.login-signup button{color:var(--color-primary-hover);cursor:pointer;background:0 0;border:0;padding:4px 0;font-weight:700}.login-submit{color:#fff;background:var(--color-primary);cursor:pointer;width:100%;min-height:54px;transition:background-color var(--motion-tap), transform var(--motion-tap);border:0;border-radius:14px;margin-top:4px;font-weight:700}.login-submit:hover{background:var(--color-primary-hover)}.login-submit:active{transform:scale(.99)}.login-signup{text-align:center;color:var(--color-text-secondary);margin-top:25px;font-size:14px}.login-signup button{margin-left:6px}.login-signup p{margin:8px 0 0;font-size:12px}.login-page button:focus-visible,.login-page input:focus-visible{outline-offset:2px;outline:3px solid #2e6fe040}@media (height<=680px){.login-brand{padding:8px 0 28px}.login-brand__logo{width:52px}.login-brand h1{font-size:34px}}
