:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.header-fixed-container{z-index:9999;width:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0}.header-placeholder{width:100%;height:105px}.login-top-header{background-color:var(--bg-card,#16161a);border-bottom:1px solid var(--border-color,#272730);box-sizing:border-box;width:100%;height:38px}body.light .login-top-header{background-color:#f8fafc;border-bottom:1px solid #e2e8f0}.login-header-inner{justify-content:space-between;align-items:center;max-width:1400px;height:100%;margin:0 auto;padding:0 24px;display:flex}.top-header-left-empty{flex:1}.login-right{align-items:center;gap:14px;display:flex}.login-btn-link{color:var(--text-sub,#94a3b8);font-size:12px;font-weight:500;text-decoration:none;transition:color .15s}.login-btn-link:hover{color:var(--text-main,#f1f5f9)}.divider{color:var(--border-color,#333340);font-size:11px}.user-greet-box{align-items:center;gap:12px;display:flex}.clean-role-badge{letter-spacing:-.2px;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700;line-height:1.3}.role-badge-supervisor{color:#ef4444;background-color:#ef44441f;border:1px solid #ef44444d}.role-badge-regular{color:#0284c7;background-color:#0284c71f;border:1px solid #0284c74d}.role-badge-associate{color:#94a3b8;background-color:#94a3b81f;border:1px solid #94a3b84d}.user-auth-meta-group{align-items:center;gap:10px;display:flex}.meta-col{align-items:center;gap:6px;display:flex}.user-name-text{color:var(--text-main,#f1f5f9);letter-spacing:-.2px;font-size:12.5px;font-weight:600}.session-time-text{color:#0284c7;font-variant-numeric:tabular-nums;background-color:#0284c714;border-radius:3px;padding:2px 6px;font-size:12px;font-weight:700}.session-time-text.warning{color:#ef4444;background-color:#ef44441f;animation:1.2s infinite sessionBlink}@keyframes sessionBlink{0%,to{opacity:1}50%{opacity:.4}}.meta-btn-action{color:var(--text-sub,#94a3b8);border:1px solid var(--border-color,#333340);cursor:pointer;background-color:#0000;border-radius:4px;padding:2px 7px;font-family:inherit;font-size:11px;font-weight:600;line-height:1.2;text-decoration:none;transition:all .15s}body.light .meta-btn-action{color:#64748b;border-color:#cbd5e1}.meta-btn-action:hover{color:var(--text-main,#f1f5f9);border-color:var(--text-sub,#94a3b8);background-color:#ffffff0f}body.light .meta-btn-action:hover{color:#0f172a;background-color:#f1f5f9}.btn-extend-clean{color:#0284c7;border-color:#0284c766}.btn-extend-clean:hover{color:#fff!important;background-color:#0284c7!important;border-color:#0284c7!important}.meta-divider-line{background-color:var(--border-color,#333340);width:1px;height:12px}.btn-header-logout{border:1px solid var(--border-color,#333340);color:var(--text-sub,#94a3b8);cursor:pointer;background-color:#0000;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.2;transition:all .15s}.btn-header-logout:hover{color:#ef4444;border-color:#ef4444}.main-nav-bar{background-color:var(--bg-card);border-bottom:1px solid var(--border-color);width:100%;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-header-inner{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:16px 24px;transition:padding .3s;display:flex;position:relative}.logo-link{align-items:center;gap:12px;text-decoration:none;display:flex}.logo-svg{width:38px;height:auto;display:block}.system-title{color:var(--text-main);letter-spacing:-.5px;font-size:1.3rem;font-weight:800}.nav-menu{align-items:center;gap:24px;display:flex}.nav-item-box{color:var(--text-main);font-size:14.5px;font-weight:600;text-decoration:none;transition:color .15s}.nav-item-box:hover{color:var(--accent-color)}.portal-nav-item{font-weight:700;color:var(--accent-color)!important}.admin-nav-item{font-weight:700;color:#ef4444!important}.minimal-theme-toggle{cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.toggle-track{box-sizing:border-box;background-color:#e2e8f0;border:1px solid #cbd5e1;border-radius:10px;align-items:center;width:40px;height:20px;transition:background-color .2s;display:flex;position:relative}.minimal-theme-toggle.dark .toggle-track{background-color:#272730;border-color:#3e3e4a}.toggle-thumb{background-color:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s cubic-bezier(.4,0,.2,1);position:absolute;top:1px;left:2px;box-shadow:0 1px 2px #00000026}.minimal-theme-toggle.dark .toggle-thumb{background-color:#0ea5e9;transform:translate(18px)}.header-fixed-container.is-scrolled{transform:translateY(-38px)}.header-fixed-container.is-scrolled .main-nav-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#18181ef2;box-shadow:0 4px 16px #0000002e}body.light .header-fixed-container.is-scrolled .main-nav-bar{background-color:#fffffffa;box-shadow:0 4px 14px #0000000f}.header-fixed-container.is-scrolled .nav-header-inner{padding:10px 24px}.hamburger-btn{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;justify-content:space-around;width:26px;height:22px;padding:0;display:none}.hamburger-btn .bar{background-color:var(--text-main);border-radius:2px;width:100%;height:2.5px;transition:all .25s}@media (width<=860px){.header-placeholder{height:95px}.clean-role-badge{display:none}.user-auth-meta-group{gap:6px}.user-name-text,.session-time-text{font-size:11px}.meta-btn-action{padding:1px 5px;font-size:10px}.btn-header-logout{padding:2px 6px;font-size:10px}.hamburger-btn{display:flex}.hamburger-btn.active .bar:first-child{transform:translateY(7px)rotate(45deg)}.hamburger-btn.active .bar:nth-child(2){opacity:0}.hamburger-btn.active .bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-menu{background-color:var(--bg-card);border-bottom:1px solid var(--border-color);box-sizing:border-box;flex-direction:column;width:100%;padding:10px 24px 20px;display:none;position:absolute;top:100%;left:0;box-shadow:0 10px 20px #0003}.nav-menu.mobile-open{display:flex}.nav-item-box{border-bottom:1px solid var(--border-color);width:100%;padding:14px 0;display:block}.minimal-theme-toggle{align-self:flex-start;margin-top:16px}}.minimal-theme-toggle{padding:6px 2px}.minimal-theme-toggle .toggle-track{background:#e5e5e5;border-color:#c8c8c8;border-radius:16px;justify-content:space-between;width:64px;height:30px;padding:0 7px}.minimal-theme-toggle .toggle-thumb{background:#fff;width:24px;height:24px;top:2px;left:3px}.minimal-theme-toggle .theme-icon{z-index:1;color:#696969;pointer-events:none;width:16px;height:16px;position:relative}.minimal-theme-toggle.light .theme-sun{color:#252525}.minimal-theme-toggle.dark .toggle-track{background:#303030;border-color:#606060}.minimal-theme-toggle.dark .toggle-thumb{background:#e5e5e5;transform:translate(32px)}.minimal-theme-toggle.dark .theme-sun{color:#b0b0b0}.minimal-theme-toggle.dark .theme-moon{color:#252525}.minimal-theme-toggle:focus-visible{outline:2px solid var(--text-main);outline-offset:3px;border-radius:18px}@media (prefers-reduced-motion:reduce){.minimal-theme-toggle .toggle-thumb,.minimal-theme-toggle .toggle-track{transition:none}}.main-footer{background-color:var(--bg-card);border-top:1px solid var(--border-color);color:var(--text-sub);box-sizing:border-box;width:100%;padding:48px 24px;font-size:13px}.footer-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;max-width:1200px;margin:0 auto;display:flex}.footer-info p{margin:6px 0;line-height:1.6}.copyright{color:#666;font-size:12px;margin-top:10px!important}.escrow-badge-img{cursor:pointer;border:0;width:auto;height:72px;transition:transform .2s;display:block}.escrow-badge-img:hover{transform:scale(1.04)}.scroll-to-top-btn{color:#fff;border:1px solid var(--border-color,#2e2e38);cursor:pointer;z-index:1000;opacity:0;visibility:hidden;background-color:#1a1a20;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .25s ease-in-out;display:flex;position:fixed;bottom:40px;right:36px;transform:translateY(15px);box-shadow:0 4px 16px #0000004d}body.light .scroll-to-top-btn{color:#1a202c;background-color:#fff;border-color:#cbd5e1;box-shadow:0 4px 14px #0000001f}.scroll-to-top-btn.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top-btn:hover{background-color:var(--accent-color,#0070f3);color:#fff;border-color:var(--accent-color,#0070f3);transform:translateY(-3px)}@media (width<=768px){.scroll-to-top-btn{width:42px;height:42px;bottom:24px;right:20px}}.silicon-hero{isolation:isolate;color:#f2f5f6;--hero-lift:0px;--hero-fade:1;--pointer-x:75%;--pointer-y:50%;background:#080e14;border-bottom:1px solid #203038;min-height:600px;position:relative;overflow:hidden}.silicon-scene{width:100%;height:100%;transform:translateY(var(--hero-lift));opacity:var(--hero-fade);pointer-events:none;position:absolute;inset:0}.silicon-particles,.silicon-response{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.silicon-response{opacity:0;background:radial-gradient(circle 210px at var(--pointer-x) var(--pointer-y),#68c1da1a,transparent 80%);mix-blend-mode:screen;transition:opacity .6s}.silicon-hero.is-interacting .silicon-response{opacity:1}.silicon-content{box-sizing:border-box;background:0 0;flex-direction:column;max-width:1400px;min-height:600px;margin:0 auto;padding:44px clamp(24px,5vw,72px) 24px;display:flex;position:relative}.silicon-signature{letter-spacing:.04em;align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.silicon-signature svg{width:30px;height:30px}.silicon-signature small{color:#8e9ca5;letter-spacing:.12em;margin-left:12px;font-size:9px;font-weight:500}.silicon-copy{text-align:left;transform:translateY(var(--hero-lift));opacity:var(--hero-fade);padding:62px 0 52px}.silicon-eyebrow{letter-spacing:.19em;color:#8cb3c1;margin:0 0 21px;font-size:10px}.silicon-copy h1{letter-spacing:-.055em;color:#f3f5f6;word-break:keep-all;margin:0 0 24px;font-size:clamp(34px,4.1vw,58px);font-weight:550;line-height:1.25}.silicon-description{color:#a4b1bb;font-size:14px;line-height:1.85}.silicon-about{color:#e6edf1;border-bottom:1px solid #4b5c65;align-items:center;gap:30px;margin-top:25px;padding:10px 0;font-size:12px;text-decoration:none;display:inline-flex}.silicon-about span{color:#88bbc9;transition:transform .2s}.silicon-about:hover span{transform:translate(2px,-2px)}.silicon-bottom{letter-spacing:.14em;color:#7e929e;border-top:1px solid #9bb8c12b;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:20px;font-size:9px;display:flex}.silicon-bottom button{font:inherit;letter-spacing:0;color:#b5c3cc;cursor:pointer;background:0 0;border:0;align-items:center;gap:20px;padding:8px 0 8px 12px;font-size:11px;display:flex}.silicon-bottom button span{color:#7dc1d3;font-size:18px}.silicon-about:focus-visible,.silicon-bottom button:focus-visible{outline-offset:6px;outline:2px solid #87c3d3}.home-scroll-snap{scroll-snap-type:y proximity;scroll-padding-top:120px}.silicon-hero,#home-updates{scroll-snap-align:start}.silicon-hero{scroll-margin-top:105px}#home-updates{z-index:1;scroll-margin-top:10px;position:relative}@media (width<=768px){.silicon-hero,.silicon-content{min-height:660px}.silicon-content{background:0 0;padding:30px 24px 18px}.silicon-scene{width:175%;height:520px;top:140px;left:-64%}.silicon-copy{padding:44px 0 185px}.silicon-copy h1{font-size:clamp(32px,8vw,45px)}.silicon-eyebrow{letter-spacing:.13em;font-size:8px}.silicon-description{font-size:13px}.silicon-bottom{align-items:flex-end}.silicon-bottom>span{max-width:155px;font-size:8px;line-height:1.8}.home-scroll-snap{scroll-padding-top:106px}.silicon-hero{scroll-margin-top:95px}}@media (prefers-reduced-motion:reduce){.silicon-response{display:none}.silicon-about span{transition:none}.home-scroll-snap{scroll-snap-type:none}}.silicon-hero,.silicon-content{min-height:430px}.silicon-content{padding-top:28px}.silicon-copy{padding:32px 0}.silicon-copy h1{font-size:clamp(32px,3.6vw,50px)}.silicon-signature{display:none}.home-scroll-snap{scroll-snap-type:none}@media (width<=768px){.silicon-hero,.silicon-content{min-height:430px}.silicon-copy{padding:24px 0 36px}.silicon-scene{opacity:.35;top:20px}.silicon-content{background:0 0}}.hero-banner-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.silicon-copy h1,.silicon-description{white-space:pre-line}.silicon-copy h1{overflow-wrap:anywhere;max-width:760px}.silicon-description{overflow-wrap:anywhere;max-width:600px}.silicon-content{background:0 0}.silicon-chip{filter:drop-shadow(0 0 22px #64bed240)}.hero-carousel-controls{color:#e6edf1;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;font-size:12px;display:flex}.hero-carousel-controls button{color:#fff;cursor:pointer;background:#080e1466;border:1px solid #657680;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.hero-carousel-controls button:hover{background:#344752}.hero-carousel-controls a{color:#d3e1e8;margin-left:12px;text-decoration:none}.hero-carousel-controls button:focus-visible,.hero-carousel-controls a:focus-visible{outline-offset:4px;outline:2px solid #fff}.silicon-copy{animation:.45s hero-copy-enter}@keyframes hero-copy-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.silicon-copy{animation:none}}.banner-upload-preview{color:#fff;background:#080e14;border-radius:12px;min-height:230px;position:relative;overflow:hidden}.banner-upload-preview>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.banner-upload-preview>div{box-sizing:border-box;background:linear-gradient(90deg,#080e14f5,#080e1480);min-height:230px;padding:30px;position:relative}.banner-upload-preview span{color:#a4c6d0;letter-spacing:.1em;font-size:9px}.banner-upload-preview h3{color:#fff;overflow-wrap:anywhere;font-size:28px;line-height:1.3}.banner-upload-preview p{color:#b5c3cc;white-space:pre-line;overflow-wrap:anywhere;font-size:13px}.hero-backgrounds,.hero-background-layer{pointer-events:none;position:absolute;inset:0}.hero-background-layer{opacity:0;transition:opacity 1.4s ease-in-out}.hero-background-layer.is-active{opacity:1}.hero-background-layer img{object-fit:cover;width:100%;height:100%;display:block}.silicon-copy{padding-bottom:66px;animation:none}.typewriter-text{display:grid;position:relative}.typewriter-size,.typewriter-visible{white-space:pre-line;grid-area:1/1}.typewriter-size{visibility:hidden}.typewriter-caret{color:#bed6de;font-weight:400}.hero-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.hero-dot-controls{justify-content:center;gap:10px;margin:0;position:absolute;bottom:66px;left:0;right:0}.hero-dots{align-items:center;gap:2px;display:flex}.hero-dots button{background:0 0;border:0;border-radius:50%;width:30px;height:30px;padding:8px}.hero-dots button:hover{background:#ffffff14}.hero-dots button span{background:#8b98a0;border-radius:50%;width:7px;height:7px;transition:background .2s,transform .2s}.hero-dots button.is-active span{background:#fff;transform:scale(1.4)}.hero-dot-controls .hero-play-toggle{color:#c5d0d6;background:0 0;border:0;width:28px;height:28px;font-size:11px}.banner-upload-preview h3{white-space:pre-line}.silicon-content{padding-top:52px;padding-bottom:70px}.hero-manage-link{z-index:3;color:#dce7ed;background:#080e1473;border:1px solid #d2e1eb59;border-radius:6px;padding:8px 12px;font-size:12px;text-decoration:none;position:absolute;top:18px;right:16px}.hero-manage-link:hover{color:#fff;background:#30414c}.hero-manage-link:focus-visible{outline-offset:4px;outline:2px solid #fff}.hero-dot-controls{width:max-content;bottom:15px;left:50%;right:auto;transform:translate(-50%)}.hero-dot-controls .hero-play-toggle{margin-left:8px;position:absolute;left:100%}.silicon-copy{padding-bottom:28px}.silicon-scene.hero-chip-background{opacity:0;transition:opacity 1.4s ease-in-out}.silicon-scene.hero-chip-background.is-active{opacity:1}.hero-background-layer{transition:opacity 1.4s ease-in-out}@media (width<=768px){.silicon-content{padding-top:60px;padding-bottom:66px}.hero-manage-link{top:14px;right:16px}.silicon-copy{padding-bottom:26px}}.silicon-content{background:0 0;justify-content:center}.silicon-copy{text-shadow:0 2px 12px #000000a6}.home-events .home-section-heading h2{margin:0;font-size:20px}.event-add-button{background:var(--accent-color);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:5px;padding:7px 10px;font-size:12px}.home-event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.home-event-card{border:1px solid var(--border-color);background:var(--bg-hover);border-radius:7px;min-width:0;padding:16px}.home-event-category{background:var(--bg-card);color:var(--accent-color);border-radius:3px;padding:3px 7px;font-size:11px;font-weight:700;display:inline-block}.home-event-card h3{color:var(--text-main);overflow-wrap:anywhere;margin:10px 0 8px;font-size:14px;line-height:1.5}.home-event-period,.home-event-location{color:var(--text-sub);overflow-wrap:anywhere;margin:5px 0;font-size:11px;line-height:1.6}.home-event-card summary{color:var(--accent-color);cursor:pointer;margin-top:10px;font-size:12px;display:inline-block}.home-event-description{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-main);font-size:12px;line-height:1.7}.event-page-dots{flex-wrap:wrap;justify-content:center;margin-top:12px;display:flex}.event-page-dots button{cursor:pointer;background:0 0;border:0;place-items:center;width:28px;height:28px;padding:0;display:grid}.event-page-dots span{background:var(--text-sub);border-radius:50%;width:7px;height:7px}.event-page-dots .active span{background:var(--accent-color);border-radius:5px;width:20px}.event-add-form{border:1px solid var(--border-color);border-radius:8px;margin-bottom:18px;padding:16px}.event-add-form fieldset{border:0;gap:12px;min-width:0;padding:0;display:grid}.event-add-form legend{margin-bottom:12px;font-size:14px;font-weight:700}.event-add-form label{gap:6px;font-size:12px;display:grid}.event-add-form input,.event-add-form select,.event-add-form textarea{box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-card);width:100%;min-width:0;color:var(--text-main);font:inherit;border-radius:5px;padding:9px}.event-form-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.event-add-form small{color:var(--text-sub);font-size:11px}.event-form-actions{gap:10px;display:flex}.event-form-actions button{border:1px solid var(--border-color);background:var(--bg-hover);color:var(--text-main);cursor:pointer;border-radius:5px;padding:8px 12px}.home-events button:focus-visible,.home-events summary:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}@media (width<=420px){.home-event-grid,.event-form-dates{grid-template-columns:1fr}}.event-create-dialog{box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-card);width:calc(100% - 32px);max-width:620px;max-height:85dvh;color:var(--text-main);border-radius:12px;padding:24px;overflow:auto;box-shadow:0 20px 80px #0000004d}.event-create-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0009}.event-dialog-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.event-dialog-heading h2{margin:0;font-size:22px}.event-dialog-heading>button{color:var(--text-sub);cursor:pointer;background:0 0;border:0;font-size:28px}.event-create-dialog .event-add-form{border:0;margin:0;padding:0}.event-add-form .event-no-end{align-items:center;gap:8px;display:flex}.event-no-end input{width:auto}.event-date-help{color:var(--text-sub);margin:0;font-size:12px}.event-place-search{align-items:flex-end;gap:8px;display:flex}.event-place-search label{flex:1}.event-place-search>button{border:1px solid var(--border-color);background:var(--bg-hover);color:var(--text-main);white-space:nowrap;cursor:pointer;border-radius:5px;padding:9px 12px}.event-place-results ul{margin:0;padding:0;list-style:none}.event-place-results li button{text-align:left;border:1px solid var(--border-color);background:var(--bg-hover);width:100%;color:var(--text-main);cursor:pointer;gap:5px;padding:12px;display:grid}.event-place-results span{color:var(--text-sub);font-size:12px}.event-create-dialog a{color:var(--accent-color);font-size:12px}.event-create-dialog button:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}.home-gallery{margin:64px 0;scroll-margin-top:125px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.gallery-card{border:1px solid var(--border-color);background:var(--bg-card);border-radius:14px;overflow:hidden}.gallery-card>img{aspect-ratio:16/10;object-fit:cover;background:var(--bg-hover);width:100%;display:block}.gallery-card>div{padding:22px}.gallery-card h3{overflow-wrap:anywhere;margin:10px 0;font-size:18px}.gallery-card p,.gallery-form p{color:var(--text-sub);overflow-wrap:anywhere;font-size:14px;line-height:1.8}.gallery-date{color:var(--text-sub);font-size:12px}.gallery-form{border:1px solid var(--border-color);background:var(--bg-card);border-radius:14px;margin-bottom:24px;padding:26px}.gallery-form h3{margin-top:0}.gallery-form fieldset{border:0;gap:12px;margin:20px 0;padding:0;display:grid}.gallery-form label{font-size:14px;font-weight:600}.gallery-form input,.gallery-form textarea{box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-main);width:100%;min-width:0;color:var(--text-main);font:inherit;border-radius:8px;padding:12px;font-size:14px}.gallery-preview{object-fit:contain;border-radius:8px;max-width:100%;max-height:220px;display:block}.gallery-error{color:#dc2626;font-size:14px;line-height:1.6}@media (width<=900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.gallery-grid{grid-template-columns:1fr}.home-gallery .home-section-heading{flex-direction:column;align-items:flex-start}.gallery-form{padding:18px}}.gallery-delete-button{border:1px solid var(--border-color);color:var(--text-sub);font:inherit;cursor:pointer;background:0 0;border-radius:6px;margin-top:16px;padding:8px 12px;font-size:12px;display:block}.gallery-delete-button:hover{color:#dc2626;border-color:#dc2626}.gallery-delete-button:disabled{cursor:wait;opacity:.5}.gallery-delete-button:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}.academic-home-container{box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;margin:0;padding:0;display:flex;overflow-x:hidden}.dashboard-2col-container{box-sizing:border-box;grid-template-columns:1.6fr 1fr;gap:30px;width:100%;max-width:1400px;margin:50px auto 30px;padding:0 24px;display:grid}.col-main-board{background-color:var(--bg-card);border:1px solid var(--border-color);box-sizing:border-box;border-radius:8px;padding:24px 28px;box-shadow:0 4px 14px #0000000a}.board-card-header{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.board-tabs{gap:8px;display:flex}.tab-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:16px;font-weight:700;transition:all .2s}.tab-btn.active{color:var(--accent-color);background-color:#0284c71f}.btn-more{background-color:var(--accent-color);color:#fff;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:700;text-decoration:none}.portal-notice-list{flex-direction:column;width:100%;display:flex}.interactive-notice-row{border-bottom:1px dashed var(--border-color);cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;padding:13px 8px;transition:background-color .15s;display:flex}.interactive-notice-row:hover{background-color:var(--bg-hover)}.interactive-notice-row:last-child{border-bottom:none}.category-tag{background-color:var(--bg-hover);color:var(--text-sub);border-radius:4px;flex-shrink:0;margin-right:12px;padding:3px 8px;font-size:11px;font-weight:700}.category-tag.pinned{color:#ef4444;background-color:#ef444426}.row-title{min-width:0;color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;flex:1;padding-right:16px;font-size:14px;overflow:hidden}.pinned-star{color:#ef4444;margin-right:4px}.row-date{color:var(--text-sub);flex-shrink:0;font-size:12px}.empty-text{color:var(--text-sub);text-align:center;padding:30px 0;font-size:14px}.col-side-cards{flex-direction:column;gap:24px;display:flex}.side-portal-card{background-color:var(--bg-card);border:1px solid var(--border-color);box-sizing:border-box;border-radius:8px;padding:22px 24px;box-shadow:0 4px 14px #0000000a}.card-top-bar{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.card-top-bar h3{color:var(--text-main);margin:0;font-size:18px;font-weight:700}.event-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.event-item-box{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:6px;padding:14px}.event-badge{background:var(--badge-bg);color:var(--accent-color);border-radius:3px;margin-bottom:6px;padding:2px 6px;font-size:11px;font-weight:700;display:inline-block}.event-title{color:var(--text-main);margin:0 0 6px;font-size:13px;font-weight:600}.event-date{color:var(--text-sub);font-size:11px}.gallery-thumbnail-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.gallery-thumb img{object-fit:cover;border:1px solid var(--border-color);border-radius:6px;width:100%;height:110px}.gallery-thumb p{color:var(--text-main);text-align:center;margin:6px 0 0;font-size:12px}.section-wrapper{box-sizing:border-box;width:100%;max-width:1400px;margin:0 auto;padding:50px 24px 80px}.section-header h2{color:var(--text-main);text-align:left;margin-bottom:8px;font-size:28px}.section-header p{color:var(--text-sub);text-align:left;margin-top:0;font-size:14px}.about-grid{grid-template-columns:1fr 1.25fr;gap:36px;margin-top:24px;display:grid}.about-info-card{background:var(--bg-card);border:1px solid var(--border-color);text-align:left;box-sizing:border-box;border-radius:8px;flex-direction:column;justify-content:flex-start;gap:20px;padding:36px;display:flex}.about-info-card h3{color:var(--text-main);margin:0 0 8px;font-size:20px;font-weight:700}.about-info-card p{color:var(--text-sub);margin:0;font-size:14px;line-height:1.6}.company-details{border-top:1px solid var(--border-color);flex-direction:column;gap:12px;margin-top:8px;padding-top:20px;display:flex}.company-details p{color:var(--text-main);margin:0;font-size:14px;line-height:1.6}.company-details .detail-row{align-items:flex-start;gap:8px;font-size:14px;line-height:1.6;display:flex}.company-details .detail-label{color:var(--text-main);white-space:nowrap;flex-shrink:0;font-weight:700}.email-group{flex-direction:column;align-items:flex-start;gap:4px;width:100%;display:flex}.email-group a{color:var(--text-main);text-underline-offset:3px;word-break:break-all;font-size:14px;line-height:1.6;text-decoration:underline;transition:color .15s;display:inline-block}.email-group a:hover{color:var(--accent-color)}.map-container{border:1px solid var(--border-color);box-sizing:border-box;border-radius:8px;min-height:380px;overflow:hidden}.notice-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.notice-modal-dialog{background:var(--bg-card);border:1px solid var(--border-color);box-sizing:border-box;border-radius:10px;width:90%;max-width:620px;padding:30px;animation:.2s ease-out modalFadeIn;box-shadow:0 16px 40px #0006}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notice-modal-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.modal-badge{color:var(--accent-color);background:#0284c71f;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:700}.modal-badge.pinned{color:#ef4444;background:#ef444426}.btn-modal-close{color:var(--text-sub);cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px;line-height:1}.modal-title{color:var(--text-main);margin:0 0 10px;font-size:21px;font-weight:800;line-height:1.4}.modal-meta-info{color:var(--text-sub);gap:16px;font-size:12px;display:flex}.modal-separator{border:none;border-top:1px solid var(--border-color);margin:18px 0}.modal-body-content{color:var(--text-main);white-space:pre-wrap;min-height:130px;max-height:380px;font-size:14px;line-height:1.7;overflow-y:auto}.modal-footer{justify-content:flex-end;margin-top:24px;display:flex}.btn-modal-confirm{background:var(--bg-hover);border:1px solid var(--border-color);color:var(--text-main);cursor:pointer;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:600;transition:all .15s}.btn-modal-confirm:hover{background:var(--accent-color);color:#fff}@media (width<=900px){.dashboard-2col-container{grid-template-columns:1fr;gap:20px;margin:30px auto}}@media (width<=768px){.event-grid,.gallery-thumbnail-row,.about-grid{grid-template-columns:1fr}.section-wrapper{padding:30px 16px 50px}.map-container{height:260px;min-height:260px}}#about{scroll-margin-top:130px}.home-motion-ready [data-reveal]{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(16px)}.home-motion-ready [data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.home-motion-ready [data-reveal]{opacity:1;transition:none;transform:none}}.home-content{box-sizing:border-box;text-align:left;width:100%;max-width:1280px;margin:auto;padding:0 32px 64px}.home-shortcuts{border:1px solid var(--border-color);background:var(--bg-card);border-radius:14px;grid-template-columns:repeat(3,1fr);margin:28px 0 64px;display:grid;overflow:hidden}.home-shortcuts a{color:var(--text-main);border-right:1px solid var(--border-color);flex-direction:column;gap:10px;padding:24px 28px;text-decoration:none;display:flex}.home-shortcuts a:last-child{border-right:0}.home-shortcuts a:hover{background:var(--bg-hover)}.home-shortcuts span{color:var(--text-sub);letter-spacing:.12em;font-size:10px}.home-shortcuts strong{font-size:19px}.home-shortcuts small{color:var(--text-sub);font-size:12px}.home-section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.home-section-heading h2,.home-about h2{color:var(--text-main);font-size:28px;font-weight:700;line-height:1.5}.home-section-heading p,.home-about p{color:var(--text-sub);font-size:14px;line-height:1.8}.home-section-heading>a,.home-contact a{color:var(--accent-color);font-size:13px;text-decoration:none}.home-news .col-main-board{border-radius:14px;padding:20px 28px}.home-news .board-tabs{border-bottom:1px solid var(--border-color);padding-bottom:16px}.home-news .interactive-notice-row{border:0;border-bottom:1px solid var(--border-color);text-align:left;width:100%;color:var(--text-sub);font:inherit;background:0 0;gap:10px;padding:20px 0}.home-news .interactive-notice-row:hover{background:var(--bg-hover)}.home-news .row-title{white-space:normal;line-height:1.6}.home-technology{margin:72px 0}.home-technology .workspace-grid{grid-template-columns:repeat(3,1fr)}.home-about{border-top:1px solid var(--border-color);grid-template-columns:1fr 1fr;gap:56px;padding:40px 0;display:grid}.home-contact{background:var(--bg-hover);border-radius:14px;padding:28px}.home-contact h3{margin:0 0 20px;font-size:18px}.home-contact dl{grid-template-columns:60px 1fr;gap:16px;font-size:13px;line-height:1.8;display:grid}.home-contact dt{color:var(--text-sub)}.home-contact dd{overflow-wrap:anywhere;margin:0}#about,#technology,#contact,#home-updates{scroll-margin-top:125px}@media (width<=768px){.home-content{padding:0 20px 32px}.home-shortcuts{margin:20px 0 40px}.home-shortcuts a{padding:18px 12px}.home-shortcuts strong{font-size:15px}.home-shortcuts span{font-size:8px}.home-shortcuts small{font-size:11px}.home-section-heading h2,.home-about h2{font-size:23px}.home-technology .workspace-grid,.home-about{grid-template-columns:1fr}.home-about{gap:24px}.home-news .col-main-board{padding:16px}.home-news .row-date{display:none}.home-section-heading>a{white-space:nowrap}.home-technology{margin:48px 0}}@media (width<=420px){.home-shortcuts{grid-template-columns:1fr}.home-shortcuts a{border-right:0;border-bottom:1px solid var(--border-color)}.home-shortcuts a:last-child{border-bottom:0}.home-shortcuts span{display:none}}.home-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:36px 0 64px;display:grid}.home-overview-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;min-width:0;padding:26px}.home-overview-card .home-section-heading{border-bottom:1px solid var(--border-color);margin-bottom:12px;padding-bottom:16px}.home-overview-card .home-section-heading h2{margin:0;font-size:20px}.home-overview-card .home-section-heading a{white-space:nowrap}.home-news .interactive-notice-row{padding:17px 0}.home-news .row-title{white-space:nowrap}.home-overview-grid .home-technology{margin:0}.home-overview-grid .home-technology .home-section-heading h2{margin:0;font-size:20px}.home-overview-grid .home-technology .workspace-grid{grid-template-columns:1fr;gap:12px}.home-overview-grid .home-technology .workspace-link{padding:18px 22px}.home-overview-grid .home-technology h3{margin:8px 0;font-size:17px}.home-overview-grid .home-technology p,.home-overview-grid .home-gallery-compact{margin:0}.home-gallery-compact .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-gallery-compact .gallery-card{border-radius:8px}.home-gallery-compact .gallery-card>div{padding:14px}.home-gallery-compact .gallery-card h3{font-size:14px}.home-gallery-compact .gallery-card p{font-size:12px}.home-gallery-compact .action-control-group{flex-wrap:wrap;gap:8px}.home-company{padding:0 0 24px}.home-company .section-header h2{margin:0 0 8px;font-weight:500}.home-company .map-container iframe{min-height:380px;display:block}.home-company .company-details a{color:var(--text-main)}@media (width<=768px){.home-overview-grid{grid-template-columns:1fr;gap:20px;margin:24px 0 40px}.home-overview-card{padding:20px}.home-news .row-date{font-size:11px;display:block}.home-company .about-info-card{padding:24px}.home-company .map-container iframe{min-height:260px}.home-gallery-compact .home-section-heading{flex-direction:row;align-items:center}}@media (width<=420px){.home-gallery-compact .gallery-grid{grid-template-columns:1fr}.home-news .row-date{display:none}}.home-research .research-example-label{color:var(--text-sub);background:var(--bg-hover);white-space:nowrap;border-radius:4px;padding:4px 8px;font-size:11px}.research-intro{color:var(--text-sub);margin:0 0 18px;font-size:13px;line-height:1.7}.research-list{gap:12px;display:grid}.research-item{border:1px solid var(--border-color);border-radius:8px;padding:16px}.research-item summary{cursor:pointer;color:var(--text-main);justify-content:space-between;align-items:center;gap:12px;font-size:15px;font-weight:700;list-style:none;display:flex}.research-item summary::-webkit-details-marker{display:none}.research-item summary:focus-visible{outline:2px solid var(--accent-color);outline-offset:5px}.research-expand{color:var(--accent-color);font-size:20px;transition:transform .15s}.research-item[open] .research-expand{transform:rotate(45deg)}.research-item p{color:var(--text-sub);margin:12px 0;font-size:13px;line-height:1.7}.research-keywords{flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.research-keywords li{background:var(--bg-hover);color:var(--accent-color);border-radius:4px;padding:4px 8px;font-size:11px}.research-item dl{border-top:1px solid var(--border-color);grid-template-columns:65px minmax(0,1fr);gap:8px 12px;margin:16px 0 0;padding-top:14px;font-size:12px;line-height:1.7;display:grid}.research-item dt{color:var(--text-main);font-weight:700}.research-item dd{color:var(--text-sub);overflow-wrap:anywhere;margin:0}.notice-page-container{background-color:var(--bg-main);box-sizing:border-box;width:100%;min-height:calc(100vh - 180px);padding:40px 24px 80px}.notice-card-wrapper{background-color:var(--bg-card);border:1px solid var(--border-color);box-sizing:border-box;border-radius:12px;max-width:1200px;margin:0 auto;padding:32px;box-shadow:0 4px 20px #0000000d}.notice-page-header{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:18px;display:flex}.notice-header-title h1{color:var(--text-main);margin:0 0 6px;font-size:24px;font-weight:800}.notice-subtext{color:var(--text-sub);margin:0;font-size:13px}.notice-header-actions{align-items:center;gap:12px;display:flex}.btn-create-notice{background-color:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 18px;font-size:13px;font-weight:700;transition:opacity .2s,transform .15s}.btn-create-notice:hover{opacity:.9;transform:translateY(-1px)}.btn-back-home{background-color:var(--bg-hover);color:var(--text-main);border:1px solid var(--border-color);border-radius:6px;padding:9px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:background-color .2s}.btn-back-home:hover{background-color:var(--border-color)}.notice-loading,.notice-empty{text-align:center;color:var(--text-sub);padding:60px 20px;font-size:15px}.notice-table-responsive{width:100%;overflow-x:auto}.notice-main-table{border-collapse:collapse;text-align:left;width:100%}.notice-main-table thead tr{border-bottom:2px solid var(--accent-color)}.notice-main-table th{color:var(--text-main);background-color:var(--bg-hover);padding:14px 12px;font-size:14px;font-weight:700}.th-category{text-align:center;width:90px}.th-title{min-width:320px}.th-views{text-align:center;width:80px}.th-date{text-align:right;width:120px}.th-manage{text-align:center;width:80px}.notice-row{border-bottom:1px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s}.notice-row:hover{background-color:var(--bg-hover)}.notice-row.row-expanded{background-color:var(--bg-hover);border-bottom:none}.notice-main-table td{color:var(--text-main);padding:14px 12px;font-size:14px}.td-category{text-align:center}.badge-category{background-color:var(--bg-hover);border:1px solid var(--border-color);color:var(--text-sub);border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.badge-pinned{color:#ef4444;background-color:#ef444426;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.td-title{font-weight:500}.row-pinned .td-title{font-weight:700}.pinned-mark{color:#ef4444;margin-right:4px}.td-views{text-align:center;color:var(--text-sub);font-size:13px}.td-date{text-align:right;color:var(--text-sub);font-size:13px}.td-manage{text-align:center}.btn-delete-item{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef4444;border-radius:4px;padding:4px 8px;font-size:12px;transition:background-color .2s,color .2s}.btn-delete-item:hover{color:#fff;background-color:#ef4444}.notice-detail-row{border-bottom:1px solid var(--border-color);background-color:var(--bg-hover)}.notice-detail-content{padding:24px!important}.detail-header{color:var(--accent-color);margin-bottom:10px;font-size:13px;font-weight:700}.detail-body{color:var(--text-main);white-space:pre-wrap;font-size:14px;line-height:1.7}@media (width<=768px){.notice-page-container{padding:20px 12px 60px}.notice-card-wrapper{padding:20px 16px}.notice-page-header{flex-direction:column;align-items:flex-start;gap:14px}.notice-header-actions{justify-content:flex-end;width:100%}.notice-header-title h1{font-size:20px}.th-views,.td-views{display:none}.th-date,.td-date{width:90px;font-size:11px}}.auth-page-container{background-color:var(--bg-main);box-sizing:border-box;justify-content:center;align-items:center;min-height:calc(100vh - 180px);padding:40px 16px;display:flex}.auth-card{background-color:var(--bg-card);border:1px solid var(--border-color);box-sizing:border-box;border-radius:12px;width:100%;padding:36px 32px;animation:.25s ease-out authCardFadeIn;box-shadow:0 8px 30px #0000001f}@keyframes authCardFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.login-card{max-width:440px}.register-card{max-width:680px}.find-card{max-width:500px}.auth-header{text-align:center;margin-bottom:24px}.auth-logo-link{align-items:center;gap:10px;margin-bottom:12px;text-decoration:none;display:inline-flex}.auth-logo-svg{width:32px;height:auto}.auth-logo-text{color:var(--text-main);letter-spacing:-.5px;font-size:1.25rem;font-weight:800}.auth-header h2{color:var(--text-main);margin:0 0 6px;font-size:22px;font-weight:700}.auth-header p{color:var(--text-sub);margin:0;font-size:13px}.auth-error-alert{color:#ef4444;text-align:left;background-color:#ef444426;border:1px solid #ef4444;border-radius:6px;margin-bottom:18px;padding:10px 14px;font-size:13px;line-height:1.4}.auth-success-alert{border:1px solid var(--accent-color);color:var(--accent-color);text-align:center;background-color:#38bdf826;border-radius:6px;margin-bottom:18px;padding:12px 14px;font-size:13px;font-weight:600;animation:.3s ease-out authAlertFadeIn}@keyframes authAlertFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.auth-form{flex-direction:column;gap:16px;display:flex}.form-section-title{color:var(--accent-color);border-bottom:1px solid var(--border-color);text-align:left;margin-top:10px;padding-bottom:6px;font-size:14px;font-weight:700}.form-grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-group{text-align:left;flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-main);font-size:13px;font-weight:600}.form-group label .req{color:#ef4444;margin-left:2px}.label-row{justify-content:space-between;align-items:center;display:flex}.forgot-link{color:var(--accent-color);font-size:12px;text-decoration:none;transition:opacity .2s}.forgot-link:hover{opacity:.85;text-decoration:underline}.form-group input,.auth-select{border:1px solid var(--border-color);background-color:var(--bg-hover);width:100%;color:var(--text-main);box-sizing:border-box;border-radius:6px;outline:none;padding:11px 13px;font-size:13px;transition:border-color .2s,background-color .2s}.form-group input:focus,.auth-select:focus{border-color:var(--accent-color);background-color:var(--bg-card)}.form-group input:disabled,.auth-select:disabled{opacity:.6;cursor:not-allowed;background-color:var(--border-color)}.id-check-row,.email-input-row{gap:8px;width:100%;display:flex}.btn-id-check,.btn-email-action{background-color:var(--accent-color);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex-shrink:0;padding:0 16px;font-size:13px;font-weight:600;transition:opacity .2s,transform .1s}.btn-id-check:hover:not(:disabled),.btn-email-action:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.btn-id-check:active:not(:disabled),.btn-email-action:active:not(:disabled){transform:translateY(0)}.btn-id-check:disabled,.btn-email-action:disabled{opacity:.6;cursor:not-allowed}.email-otp-box{background-color:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:8px;margin-top:6px;padding:12px;animation:.25s ease-out authAlertFadeIn;display:flex}.otp-input-wrapper{flex:1;align-items:center;display:flex;position:relative}.otp-input-wrapper input{letter-spacing:2px;padding-right:60px;font-weight:700}.otp-timer{color:#ef4444;font-family:monospace;font-size:12px;font-weight:700;position:absolute;right:12px}.otp-action-row{gap:8px;display:flex}.field-success-msg{color:#10b981;align-items:center;gap:4px;margin-top:4px;font-size:12px;line-height:1.3;animation:.2s ease-out authAlertFadeIn;display:flex}.input-date-picker{cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body.light .input-date-picker{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.postcode-search-row{gap:8px;display:flex}.input-readonly{cursor:default;background-color:#ffffff0a!important}body.light .input-readonly{background-color:#00000008!important}.btn-address-search{background-color:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;padding:0 16px;font-size:13px;font-weight:600;transition:opacity .2s,transform .1s}.btn-address-search:hover{opacity:.88;transform:translateY(-1px)}.btn-address-search:active{transform:translateY(0)}.postcode-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.postcode-modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;width:90%;max-width:480px;animation:.25s ease-out authAlertFadeIn;overflow:hidden;box-shadow:0 16px 40px #00000073}.postcode-modal-header{border-bottom:1px solid var(--border-color);background-color:var(--bg-card);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.postcode-modal-header h3{color:var(--text-main);margin:0;font-size:15px;font-weight:700}.btn-modal-close{color:var(--text-sub);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;font-weight:700;transition:color .15s}.btn-modal-close:hover{color:#ef4444}.privacy-clause-box{background-color:var(--bg-hover);border:1px solid var(--border-color);color:var(--text-sub);text-align:left;border-radius:6px;max-height:140px;padding:14px 16px;font-size:12px;line-height:1.6;overflow-y:auto}.privacy-clause-box h4{color:var(--text-main);margin:0 0 6px;font-size:12px}.privacy-clause-box p{margin:4px 0}.agreement-group{text-align:left;flex-direction:column;gap:10px;padding:8px 0;display:flex}.checkbox-label{color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-color);cursor:pointer}.checkbox-label.all-agree{border-bottom:1px dashed var(--border-color);padding-bottom:8px}.btn-auth-submit{background-color:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:10px;padding:13px 0;font-size:15px;font-weight:700;transition:opacity .2s,transform .1s,background-color .2s}.btn-auth-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-auth-submit:active:not(:disabled){transform:translateY(0)}.btn-auth-submit:disabled{opacity:.65;cursor:not-allowed;filter:grayscale(20%)}.auth-divider{text-align:center;margin:22px 0 16px;position:relative}.auth-divider:before{content:"";background-color:var(--border-color);width:100%;height:1px;position:absolute;top:50%;left:0}.auth-divider span{background-color:var(--bg-card);color:var(--text-sub);padding:0 10px;font-size:12px;position:relative}.social-auth-group{flex-direction:column;gap:10px;display:flex}.btn-social{cursor:pointer;box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;gap:10px;width:100%;padding:11px 16px;font-size:13px;font-weight:600;transition:opacity .2s,transform .1s;display:flex}.btn-social:hover{opacity:.92;transform:translateY(-1px)}.btn-google{color:#3c4043;background-color:#fff;border:1px solid #dadce0}.btn-naver{color:#fff;background-color:#03c75a;border:none}.naver-logo-n{font-family:sans-serif;font-size:14px;font-weight:900}.auth-footer-nav{text-align:center;color:var(--text-sub);margin-top:22px;font-size:13px}.auth-footer-nav a{color:var(--accent-color);margin-left:4px;font-weight:600;text-decoration:none;transition:-webkit-text-decoration .2s,text-decoration .2s}.auth-footer-nav a:hover{text-decoration:underline}@media (width<=768px){.auth-page-container{padding:20px 12px}.auth-card{border-radius:10px;padding:26px 18px}.form-grid-2{grid-template-columns:1fr;gap:12px}.auth-header h2{font-size:20px}.postcode-modal-content{width:95%}}.field-error-msg{color:#ef4444;margin-top:4px;font-size:12px;line-height:1.3;animation:.2s ease-out authAlertFadeIn}.input-invalid{background-color:#ef44440d!important;border-color:#ef4444!important}.find-tab-group{background-color:var(--bg-hover);border-radius:8px;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px;padding:4px;display:grid}.find-tab-btn{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:10px 0;font-size:13px;font-weight:600;transition:background-color .2s,color .2s}.find-tab-btn.active{background-color:var(--bg-card);color:var(--accent-color);box-shadow:0 2px 8px #00000026}.register-success-modal-overlay{z-index:10001;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000bf;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.register-success-modal-content{background-color:var(--bg-card);border:1px solid var(--border-color);text-align:center;box-sizing:border-box;border-radius:16px;width:90%;max-width:440px;padding:36px 28px 28px;animation:.3s cubic-bezier(.16,1,.3,1) authCardFadeIn;box-shadow:0 20px 50px #00000080}.success-icon-badge{color:#10b981;background-color:#10b98126;border:2px solid #10b981;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 18px;font-size:32px;display:flex}.register-success-modal-content h3{color:var(--text-main);margin:0 0 8px;font-size:20px;font-weight:800}.register-success-modal-content p{color:var(--text-sub);margin:0 0 22px;font-size:13px;line-height:1.5}.success-user-summary-box{background-color:var(--bg-hover);border:1px solid var(--border-color);text-align:left;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:24px;padding:14px 16px;display:flex}.summary-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.summary-label{color:var(--text-sub);font-weight:500}.summary-val{color:var(--text-main);font-weight:700}.btn-go-login{background-color:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:13px 0;font-size:14px;font-weight:700;transition:opacity .2s,transform .1s}.btn-go-login:hover{opacity:.9;transform:translateY(-1px)}.admin-page-wrapper{background-color:var(--bg-main,#121214);box-sizing:border-box;width:100%;min-height:calc(100vh - 105px);display:flex}.admin-sidebar{background-color:var(--bg-card,#1a1a1e);border-right:1px solid var(--border-color,#2c2c35);box-sizing:border-box;flex-direction:column;flex-shrink:0;justify-content:space-between;width:280px;padding:30px 16px;display:flex}.admin-badge{color:#ef4444;letter-spacing:1.5px;margin-bottom:6px;font-size:10px;font-weight:800}.nav-btn{width:100%;color:var(--text-sub,#94a3b8);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.nav-btn:hover{background-color:var(--bg-hover,#24242c);color:var(--text-main,#f1f5f9)}.nav-btn.active{color:#ef4444;background-color:#ef44441f;border-color:#ef444459}.nav-counter{color:#fff;background-color:#ef4444;border-radius:12px;padding:2px 7px;font-size:11px;font-weight:700}.system-status-indicator{color:var(--text-sub,#94a3b8);align-items:center;gap:8px;font-size:12px;display:flex}.status-dot{background-color:#10b981;border-radius:50%;width:8px;height:8px;box-shadow:0 0 6px #10b981}.admin-main-viewport{box-sizing:border-box;flex:1;padding:40px 48px;overflow-y:auto}.content-block{max-width:1200px;margin:0 auto}.view-title-box{margin-bottom:24px}.view-title-box h2{color:var(--text-main,#f1f5f9);margin:0 0 8px;font-size:24px;font-weight:700}.view-title-box p{color:var(--text-sub,#94a3b8);margin:0;font-size:14px}.stat-summary-row{gap:16px;margin-bottom:24px;display:flex}.mini-stat-card{background:var(--bg-card,#1a1a1e);border:1px solid var(--border-color,#2c2c35);border-radius:8px;flex-direction:column;gap:4px;min-width:160px;padding:16px 20px;display:flex}.stat-label{color:var(--text-sub,#94a3b8);font-size:12px}.stat-value{color:var(--text-main,#f1f5f9);font-size:20px;font-weight:800}.stat-value.status-normal{color:#0ea5e9}.table-card{background:var(--bg-card,#1a1a1e);border:1px solid var(--border-color,#2c2c35);border-radius:10px;overflow:hidden;box-shadow:0 4px 16px #0003}.admin-data-table{border-collapse:collapse;text-align:left;width:100%}.admin-data-table th,.admin-data-table td{border-bottom:1px solid var(--border-color,#2c2c35);color:var(--text-main,#f1f5f9);vertical-align:middle;padding:15px 18px;font-size:13px}.admin-data-table th{color:var(--text-sub,#94a3b8);background-color:#ffffff05;font-weight:600}.user-info-stack{flex-direction:column;gap:2px;display:flex}.col-name{color:var(--accent-color,#0ea5e9);font-weight:700}.col-sub{color:var(--text-sub,#94a3b8);font-family:monospace;font-size:11px}.col-project{color:#38bdf8;word-break:keep-all;max-width:220px;font-weight:600}.col-reason{white-space:nowrap;text-overflow:ellipsis;max-width:240px;color:var(--text-sub,#94a3b8);overflow:hidden}.col-date{color:var(--text-sub,#94a3b8);white-space:nowrap;font-size:11px}.col-actions{justify-content:center;gap:8px;display:flex}.btn-action{cursor:pointer;border:none;border-radius:5px;padding:6px 14px;font-size:12px;font-weight:600;transition:opacity .15s}.btn-action:hover{opacity:.85}.btn-action.approve{color:#fff;background-color:#0ea5e9}.btn-action.reject{color:#ef4444;background-color:#0000;border:1px solid #ef4444}.table-empty{text-align:center;color:var(--text-sub,#94a3b8);padding:40px}.placeholder-card{background:var(--bg-card,#1a1a1e);border:1px dashed var(--border-color,#2c2c35);text-align:center;border-radius:10px;padding:60px 20px}.placeholder-icon{margin-bottom:16px;font-size:42px;display:block}.placeholder-card h3{color:var(--text-main,#f1f5f9);margin:0 0 8px;font-size:18px}.placeholder-card p{color:var(--text-sub,#94a3b8);margin:0;font-size:14px}.portal-page-wrapper{background-color:var(--bg-main,#121214);box-sizing:border-box;width:100%;min-height:calc(100vh - 105px);display:flex}.portal-sidebar{background-color:var(--bg-card,#1a1a1e);border-right:1px solid var(--border-color,#2c2c35);box-sizing:border-box;flex-direction:column;flex-shrink:0;justify-content:space-between;width:280px;padding:30px 16px;display:flex}.sidebar-header{border-bottom:1px solid var(--border-color,#2c2c35);padding:0 12px 24px}.portal-badge-label{color:var(--accent-color,#0ea5e9);letter-spacing:1.5px;margin-bottom:6px;font-size:10px;font-weight:800}.sidebar-title{color:var(--text-main,#f1f5f9);margin:0;font-size:18px;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:8px;margin-top:24px;display:flex}.portal-sidebar .nav-btn{width:100%;color:var(--text-sub,#94a3b8);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.portal-sidebar .nav-btn:hover{background-color:var(--bg-hover,#24242c);color:var(--text-main,#f1f5f9)}.portal-sidebar .nav-btn.active{color:#38bdf8;background-color:#0ea5e91f;border-color:#0ea5e959}.nav-icon{font-size:16px}.nav-text{flex:1}.sidebar-footer{border-top:1px solid var(--border-color,#2c2c35);padding-top:16px}.researcher-info-pill{color:var(--text-sub,#94a3b8);align-items:center;gap:8px;font-size:12px;display:flex}.online-indicator{background-color:#38bdf8;border-radius:50%;width:8px;height:8px;box-shadow:0 0 6px #38bdf8}.portal-main-viewport{box-sizing:border-box;flex:1;padding:40px 48px;overflow-y:auto}.portal-content-block{max-width:1240px;margin:0 auto}.portal-title-row{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.portal-title-row h2{color:var(--text-main,#f1f5f9);margin:0 0 8px;font-size:24px;font-weight:700}.portal-title-row p{color:var(--text-sub,#94a3b8);margin:0;font-size:14px}.action-control-group{align-items:center;gap:12px;display:flex}.btn-export-excel{color:var(--text-main,#f1f5f9);border:1px solid var(--border-color,#2c2c35);cursor:pointer;background:0 0;border-radius:6px;padding:8px 14px;font-size:12px;font-weight:600;transition:all .2s}.btn-export-excel:hover{background-color:var(--bg-hover,#24242c);color:#38bdf8;border-color:#38bdf8}.view-toggle-capsule{border:1px solid var(--border-color,#2c2c35);border-radius:8px;display:inline-flex;overflow:hidden}.btn-capsule{color:var(--text-sub,#94a3b8);cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:12px;font-weight:600}.btn-capsule.active{background-color:var(--accent-color,#0ea5e9);color:#fff}.btn-primary-action{background:var(--accent-color,#0ea5e9);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:9px 18px;font-size:13px;font-weight:700;transition:opacity .15s}.btn-primary-action:hover{opacity:.88}.kpi-summary-row{gap:16px;margin-bottom:24px;display:flex}.kpi-card{background:var(--bg-card,#1a1a1e);border:1px solid var(--border-color,#2c2c35);border-radius:8px;flex-direction:column;flex:1;gap:4px;padding:16px 20px;display:flex}.kpi-label{color:var(--text-sub,#94a3b8);font-size:12px}.kpi-value{color:var(--text-main,#f1f5f9);font-size:22px;font-weight:800}.kpi-value.highlight{color:#38bdf8}.kpi-value.success{color:#10b981}.kpi-value.normal{color:#a855f7}.project-board-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.project-column-card{background:var(--bg-card,#1a1a1e);border:1px solid var(--border-color,#2c2c35);border-radius:10px;padding:22px;box-shadow:0 4px 16px #0000002e}.phase-pill{color:#10b981;background:#10b9811f;border-radius:4px;margin-bottom:8px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.proj-card-header h3{color:var(--text-main,#f1f5f9);margin:0 0 10px;font-size:16px}.proj-meta{color:var(--text-sub,#94a3b8);justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.progress-bar-bg{background-color:#ffffff0d;border-radius:3px;width:100%;height:6px;margin-bottom:18px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#0284c7 0%,#38bdf8 100%);border-radius:3px;height:100%}.member-card-stack{flex-direction:column;gap:12px;display:flex}.researcher-card{background:var(--bg-hover,#202028);border:1px solid var(--border-color,#2c2c35);border-radius:8px;padding:14px 16px}.card-top{justify-content:space-between;align-items:center;display:flex}.researcher-name{color:var(--text-main,#f1f5f9);font-size:14px;font-weight:700}.researcher-email{color:var(--text-sub,#94a3b8);margin:4px 0 8px;font-size:11px;display:block}.rd-role-badge{color:#38bdf8;background:#0ea5e926;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700}.rd-role-badge.director{color:#ef4444;background:#ef444426}.tech-tags-row{flex-wrap:wrap;gap:6px;display:flex}.skill-chip{color:var(--text-sub,#94a3b8);background:#ffffff0a;border-radius:4px;padding:2px 6px;font-size:11px}.portal-table-card{background:var(--bg-card,#1a1a1e);border:1px solid var(--border-color,#2c2c35);border-radius:10px;overflow:hidden;box-shadow:0 4px 16px #0000002e}.portal-data-table{border-collapse:collapse;text-align:left;width:100%}.portal-data-table th,.portal-data-table td{border-bottom:1px solid var(--border-color,#2c2c35);color:var(--text-main,#f1f5f9);padding:14px 20px;font-size:13px}.portal-data-table th{color:var(--text-sub,#94a3b8);background-color:#ffffff05;font-weight:600}.col-emp-name{color:#38bdf8;font-weight:700}.col-proj-title{font-weight:600}.col-email{color:var(--text-sub,#94a3b8);font-family:monospace}.status-badge-ok{color:#10b981;background:#10b98126;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700}.status-badge-pending{color:#f59e0b;background:#f59e0b26;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700}.portal-placeholder-card{background:var(--bg-card,#1a1a1e);border:1px dashed var(--border-color,#2c2c35);text-align:center;border-radius:10px;padding:60px 20px}.portal-placeholder-card .placeholder-icon{margin-bottom:16px;font-size:42px;display:block}.portal-placeholder-card h3{color:var(--text-main,#f1f5f9);margin:0 0 8px;font-size:18px}.portal-placeholder-card p{color:var(--text-sub,#94a3b8);margin:0;font-size:14px}:root,body.dark{--bg-main:#121214;--bg-card:#1c1c24;--bg-hover:#262630;--border-color:#2e2e38;--text-main:#fff;--text-sub:#9e9ea7;--accent-color:#0070f3;--badge-bg:#0070f326}body.light{--bg-main:#fff;--bg-card:#fff;--bg-hover:#f5f7fa;--border-color:#e2e8f0;--text-main:#111827;--text-sub:#6b7280;--accent-color:#0070f3;--badge-bg:#eff6ff}html,body{background-color:var(--bg-main);width:100%;min-height:100%;color:var(--text-main);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background-color .25s,color .25s;overflow-x:hidden}#root,.app-container{box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;min-height:100vh;margin:0;padding:0;display:flex}.access-state{text-align:center;padding:80px 24px}.workspace-eyebrow{color:var(--accent-color);letter-spacing:.14em;margin-bottom:12px;font-size:11px;font-weight:700;display:block}.workspace-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:24px 0;display:grid}.workspace-link{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);text-align:left;border-radius:14px;padding:26px;text-decoration:none;display:block}.workspace-link h3{margin:8px 0 12px;font-size:18px}.workspace-link p,.workspace-banner p{color:var(--text-sub);margin:8px 0 16px;font-size:14px;line-height:1.8}a.workspace-link:hover{border-color:var(--accent-color);background:var(--bg-hover)}.workspace-link-label{color:var(--accent-color);margin-top:24px;font-size:12px;display:block}.workspace-banner,.workspace-editor{border:1px solid var(--border-color);background:var(--bg-card);text-align:left;border-radius:14px;margin:24px 0;padding:26px}.workspace-banner a,.workspace-editor a{color:var(--accent-color);font-size:14px}.workspace-toolbar{flex-wrap:wrap;align-items:end;gap:16px;margin:24px 0;display:flex}.workspace-toolbar label{flex-direction:column;flex:1;gap:8px;min-width:160px;font-size:13px;display:flex}.workspace-toolbar input,.workspace-toolbar select{border:1px solid var(--border-color);background:var(--bg-main);color:var(--text-main);font:inherit;border-radius:8px;padding:12px}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent-color);outline-offset:4px}.admin-page-wrapper,.portal-page-wrapper{text-align:left}.admin-main-viewport,.portal-main-viewport{min-width:0;padding:36px clamp(20px,3vw,48px)}.admin-sidebar,.portal-sidebar{width:250px}.admin-sidebar .nav-btn,.portal-sidebar .nav-btn{box-sizing:border-box;line-height:1.5;text-decoration:none}.table-card,.portal-table-card{overflow-x:auto}.admin-data-table{min-width:680px}.portal-title-row{flex-wrap:wrap;gap:20px}@media (width<=900px){.admin-page-wrapper,.portal-page-wrapper{flex-direction:column}.admin-sidebar,.portal-sidebar{border-right:0;border-bottom:1px solid var(--border-color);width:100%;padding:20px}.admin-sidebar .sidebar-header,.portal-sidebar .sidebar-header{padding:0 0 12px}.admin-sidebar .sidebar-nav,.portal-sidebar .sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px;display:grid}.admin-sidebar .sidebar-footer,.portal-sidebar .sidebar-footer{display:none}.admin-main-viewport,.portal-main-viewport{padding:24px 20px}.portal-title-row h2,.view-title-box h2{font-size:22px;line-height:1.5}.action-control-group{flex-wrap:wrap}}@media (width<=480px){.admin-sidebar .nav-btn,.portal-sidebar .nav-btn{gap:7px;padding:10px 8px;font-size:12px}.workspace-grid{grid-template-columns:1fr}}.gallery-page{box-sizing:border-box;text-align:left;width:100%;max-width:1280px;margin:0 auto;padding:36px 32px 72px}.gallery-page .home-gallery{margin:24px 0}.gallery-page .gallery-grid{align-items:stretch}.gallery-page .gallery-grid .gallery-card{flex-direction:column;min-width:0;display:flex}.gallery-page .gallery-grid .gallery-card>img{aspect-ratio:4/3;object-fit:contain;flex:none;width:100%;height:auto}.gallery-page .gallery-grid .gallery-card>div{flex-direction:column;flex:1;display:flex}.gallery-page .gallery-grid .gallery-card h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3em;line-height:1.5;display:-webkit-box;overflow:hidden}.gallery-page .gallery-grid .gallery-card p{-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:5.4em;margin:0 0 16px;line-height:1.8;display:-webkit-box;overflow:hidden}.gallery-page .gallery-grid .gallery-card a{margin-top:auto;padding-top:14px}.gallery-page .gallery-grid .gallery-delete-button{align-self:flex-start}.gallery-page h1{color:var(--text-main);letter-spacing:-.03em;margin:12px 0;font-size:32px;font-weight:700;line-height:1.5}.gallery-back{color:var(--text-sub);margin-bottom:24px;font-size:14px;text-decoration:none;display:inline-block}.gallery-add-link{text-decoration:none;display:inline-block}.gallery-create-layout{grid-template-columns:1.1fr 1fr;align-items:start;gap:32px;display:grid}.gallery-create-preview{border:1px solid var(--border-color);background:var(--bg-hover);border-radius:14px;padding:26px}.gallery-create-preview h2{color:var(--text-main);margin-bottom:20px;font-size:20px}.gallery-image-placeholder{box-sizing:border-box;min-height:220px;color:var(--text-sub);text-align:center;place-items:center;padding:24px;font-size:14px;display:grid}.gallery-public-note{color:var(--text-sub);margin-top:20px;font-size:13px;line-height:1.8}.gallery-page .gallery-form{margin:0}.gallery-page .gallery-form small{color:var(--text-sub);font-size:12px}.gallery-card a{color:var(--accent-color);margin-top:14px;font-size:13px;display:inline-block}@media (width<=768px){.gallery-page{padding:24px 20px 48px}.gallery-create-layout{grid-template-columns:1fr}.gallery-page h1{font-size:26px}.gallery-create-preview{padding:20px}}
