:root{--brand-blue: #1F1436;--brand-blue-deep: #1F1436;--brand-navy: #1F1436;--brand-yellow: #ffc400;--brand-yellow-soft: rgba(255, 196, 0, .35);--bg: #eef2f7;--surface: #ffffff;--ink: #10233f;--muted: #5c6b7e;--line: #d7dfe9;--radius: 20px;--radius-lg: 28px;--ease-natural: cubic-bezier(.22, .75, .25, 1);--ease-open: cubic-bezier(.65, 0, .35, 1);--shadow-sm: 0 4px 14px rgba(9, 30, 60, .1);--shadow-md: 0 14px 34px rgba(9, 30, 60, .14);--shadow-lg: 0 28px 70px rgba(6, 22, 46, .24)}html,body,#root{height:100%}html.kiosk body,html.kiosk #root{overflow:hidden;overscroll-behavior:none;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}html.kiosk #root img,html.kiosk #root svg{-webkit-user-drag:none;user-drag:none;pointer-events:none}body.kiosk-hide-cursor,body.kiosk-hide-cursor *{cursor:none!important}html.is-desktop .folder-card,html.is-desktop .file-card,html.is-desktop .icon-btn,html.is-desktop .primary-btn,html.is-desktop .flip-page{cursor:pointer}@media(hover:hover)and (pointer:fine){html.is-desktop .folder-card:hover{transform:translateY(-4px);background:#ffffffb8;box-shadow:var(--shadow-md)}html.is-desktop .folder-card:hover .folder-icon-wrap{transform:translateY(-2px) scale(1.02)}html.is-desktop .file-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}html.is-desktop .icon-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}html.is-desktop .primary-btn:hover{transform:translateY(-1px)}html.is-desktop .flip-page:hover{box-shadow:0 0 0 2px #0057a82e}}body{margin:0;background:var(--bg);color:var(--ink);font-family:Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font:inherit;color:inherit;border:0;background:none;padding:0}.kiosk-root{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.screen{position:absolute;top:0;right:0;bottom:0;left:0;animation:screen-in .32s var(--ease-natural) both}.screen.is-hidden{opacity:0;pointer-events:none}.is-closing{animation:screen-out .28s var(--ease-natural) both;pointer-events:none}@keyframes screen-in{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}@keyframes screen-out{to{opacity:0;transform:scale(.985)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.icon-btn{display:inline-flex;align-items:center;gap:10px;min-width:56px;min-height:56px;padding:0 18px;border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm);color:var(--brand-blue-deep);font-size:20px;font-weight:600;letter-spacing:.01em;transition:transform .12s var(--ease-natural),box-shadow .12s ease,opacity .25s ease;touch-action:manipulation}.icon-btn:active{transform:scale(.93);box-shadow:none}.icon-btn:disabled{pointer-events:none;opacity:.35}.icon-btn-glyph{font-size:24px;line-height:1}.primary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 30px;border-radius:16px;background:var(--brand-blue);color:#fff;font-size:21px;font-weight:700;box-shadow:var(--shadow-sm);transition:transform .12s var(--ease-natural)}.primary-btn:active{transform:scale(.94)}.idle-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,#1f1436dc 0%,var(--brand-navy) 55%,#1F1436 100%);animation:fade-in .5s ease both}.idle-bg--waking{animation:idle-out .24s ease both;pointer-events:none}@keyframes idle-out{to{opacity:0}}.idle-particles{position:absolute;top:0;right:0;bottom:0;left:0}.idle-particle{position:absolute;border-radius:50%;background:#9cc3ff;opacity:var(--particle-opacity, .25);animation:particle-drift linear infinite}@keyframes particle-drift{0%{transform:translate3d(0,12vh,0) scale(.8);opacity:0}12%{opacity:var(--particle-opacity, .25)}85%{opacity:var(--particle-opacity, .25)}to{transform:translate3d(4vw,-108vh,0) scale(1.15);opacity:0}}.idle-core{position:relative;display:grid;place-items:center;gap:46px}.idle-logo-card{display:grid;place-items:center;border-radius:36px;background:#fffffff7;animation:logo-float 6s ease-in-out infinite}.idle-logo{width:min(44vw,560px)}@keyframes logo-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-14px) scale(1.015)}}.idle-logo-ring{display:none;position:absolute;top:0;right:0;bottom:0;left:0;place-items:center}.idle-logo-ring span{position:absolute;width:min(64vw,880px);aspect-ratio:2.1 / 1;border-radius:50%;border:2px solid rgba(156,195,255,.35);animation:ring-breathe 6s ease-in-out infinite}.idle-logo-ring span:nth-child(2){animation-delay:3s}@keyframes ring-breathe{0%,to{transform:scale(.92);opacity:.1}50%{transform:scale(1.04);opacity:.55}}.idle-hint{display:flex;align-items:center;gap:14px;padding:16px 30px;border-radius:999px;color:#d6e6ff;font-size:clamp(20px,1.6vw,26px);font-weight:500;letter-spacing:.06em;background:#ffffff12;border:1px solid rgba(156,195,255,.25);animation:hint-pulse 2.6s ease-in-out infinite}.idle-hint-dot{width:12px;height:12px;border-radius:50%;background:var(--brand-yellow);animation:hint-dot 2.6s ease-in-out infinite}@keyframes hint-pulse{0%,to{opacity:.72}50%{opacity:1}}@keyframes hint-dot{0%,to{transform:scale(.8)}50%{transform:scale(1.2)}}.home-screen{display:flex;flex-direction:column;background:linear-gradient(180deg,#f5f8fb 0%,var(--bg) 40%,#e4ebf3 100%)}.home-header{display:flex;align-items:center;gap:28px;padding:26px 48px 8px}.home-logo{width:clamp(210px,19vw,300px)}.home-title{margin:0;font-size:clamp(24px,2vw,34px);font-weight:600;color:var(--brand-blue-deep);letter-spacing:.02em}.home-title:after{content:"";display:block;width:72px;height:5px;margin-top:8px;border-radius:3px;background:var(--brand-yellow)}.folder-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(210px,21vw,300px),1fr));gap:clamp(20px,2.5vw,42px);align-content:center;justify-items:center;max-width:min(88vw,1420px);width:100%;margin:0 auto;padding:12px 48px 20px}.folder-card{display:grid;justify-items:center;gap:10px;min-width:clamp(200px,20vw,300px);min-height:clamp(210px,24vh,280px);padding:26px 22px 20px;border-radius:var(--radius-lg);background:transparent;transition:transform .16s var(--ease-natural),background .2s ease;touch-action:manipulation}.folder-card:active{transform:scale(.955);background:#ffffffbf;box-shadow:var(--shadow-md)}.folder-card .folder-icon-wrap{width:clamp(150px,15vw,210px);filter:drop-shadow(0 12px 22px rgba(6,42,82,.28));transition:transform .16s var(--ease-natural)}.folder-card:active .folder-icon-wrap{transform:translateY(3px) scale(.97)}.folder-icon{display:block;width:100%;height:auto}.folder-icon-img{display:block;width:100%;height:auto;object-fit:contain}.folder-name{font-size:clamp(21px,1.65vw,28px);font-weight:700;color:var(--brand-blue-deep);text-align:center}.folder-count{font-size:clamp(15px,1.1vw,18px);font-weight:500;color:var(--muted)}.home-footer{padding:18px 0 30px;text-align:center;color:var(--muted);font-size:clamp(17px,1.3vw,22px);letter-spacing:.04em}.folder-content-screen{z-index:30;display:flex;flex-direction:column;background:linear-gradient(180deg,#f5f8fb 0%,var(--bg) 45%,#e4ebf3 100%)}.content-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:26px 48px 10px}.content-header .icon-btn:first-child{justify-self:start}.content-header .icon-btn:last-child{justify-self:end}.content-title{margin:0;font-size:clamp(26px,2.2vw,36px);font-weight:700;color:var(--brand-blue-deep);text-align:center}.file-cards{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,330px));gap:clamp(22px,2.4vw,40px);align-content:center;justify-content:center;padding:24px 48px 34px}.fan-in{animation:card-fan-in .5s var(--ease-natural) both;animation-delay:calc(var(--i, 0) * 75ms)}@keyframes card-fan-in{0%{opacity:0;transform:translateY(34px) rotate(var(--rot, 0deg))}to{opacity:1;transform:translateY(0) rotate(0)}}.file-card{display:grid;grid-template-columns:1fr;gap:12px;padding:18px 18px 16px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);text-align:center;transition:transform .15s var(--ease-natural),box-shadow .15s ease;touch-action:manipulation}.file-card:active{transform:scale(.955);box-shadow:var(--shadow-md)}.file-thumb{position:relative;display:grid;place-items:center;height:238px;border-radius:12px;background:linear-gradient(180deg,#f2f5f9,#e8eef5);border:1px solid var(--line);overflow:hidden}.file-thumb canvas{max-width:100%;max-height:100%;width:auto;height:auto}.file-thumb:not(.is-loaded) canvas{opacity:0}.file-thumb.is-loaded canvas{opacity:1;transition:opacity .25s ease}.file-thumb-fallback{display:grid;gap:8px;justify-items:center;color:#93a5ba;font-size:15px;font-weight:600}.file-label{font-size:clamp(18px,1.4vw,23px);font-weight:650;color:var(--ink);line-height:1.25}.file-open-hint{font-size:16px;font-weight:600;color:var(--brand-blue);letter-spacing:.05em}.file-empty-note{color:var(--muted);font-size:22px}.foa{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;perspective:1600px}.foa-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(130% 120% at 50% 42%,#0a284e59,#0511249e);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .3s ease both}.foa--fading{pointer-events:none}.foa--fading .foa-scrim,.foa--fading .foa-scene{opacity:0;transition:opacity .34s ease}.foa-scene{position:relative;width:var(--foa-w, 560px);aspect-ratio:160 / 124}.foa-folder{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;perspective:1400px;filter:drop-shadow(0 36px 64px rgba(3,16,38,.42))}.foa--entering .foa-scene{animation:foa-fly-in .46s var(--ease-natural) both}.foa--leaving .foa-scene{animation:foa-fly-out .46s var(--ease-natural) .42s both}@keyframes foa-fly-in{0%{transform:translate(var(--foa-fx),var(--foa-fy)) scale(var(--foa-fs));opacity:1}to{transform:translate(0) scale(1);opacity:1}}@keyframes foa-fly-out{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--foa-fx),var(--foa-fy)) scale(var(--foa-fs));opacity:1}}.foa-back{position:absolute;top:0;right:0;bottom:0;left:0;animation:foa-pop .4s var(--ease-natural) .06s both}.foa-back-icon{display:block;width:100%;height:auto}@keyframes foa-pop{0%{transform:scale(.985)}to{transform:scale(1)}}.foa-paper{position:absolute;left:9%;right:9%;top:12%;height:76%;background:linear-gradient(180deg,#fff,#f3f6fa);border-radius:10px;box-shadow:0 10px 26px #091e3c2e;z-index:1}.foa-paper:after{content:"";position:absolute;inset:10% 12% auto;height:4px;border-radius:2px;background:#d5dfeb;box-shadow:0 10px #e2eaf3}.foa--entering .foa-paper--1{animation:foa-sheet-1 .5s var(--ease-natural) .52s both}.foa--entering .foa-paper--2{animation:foa-sheet-2 .5s var(--ease-natural) .45s both}.foa--entering .foa-paper--3{animation:foa-sheet-3 .5s var(--ease-natural) .38s both}@keyframes foa-sheet-1{0%{transform:translate(0) rotate(0)}to{transform:translate(-5.5%,-8%) rotate(-3.4deg)}}@keyframes foa-sheet-2{0%{transform:translate(0) rotate(0)}to{transform:translateY(-10%) rotate(.6deg)}}@keyframes foa-sheet-3{0%{transform:translate(0) rotate(0)}to{transform:translate(5.5%,-7.5%) rotate(3.2deg)}}.foa--leaving .foa-paper--1{animation:foa-sheet-1 .38s var(--ease-open) .08s both reverse}.foa--leaving .foa-paper--2{animation:foa-sheet-2 .38s var(--ease-open) .08s both reverse}.foa--leaving .foa-paper--3{animation:foa-sheet-3 .38s var(--ease-open) .08s both reverse}.foa-cover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;transform-origin:left center;backface-visibility:visible;transform-style:preserve-3d;display:flex;flex-direction:column;justify-content:center;gap:6%;padding:0 0 4.5%}.foa-cover-icon{display:block;width:100%;height:auto}.foa-name{position:absolute;left:0;right:0;bottom:-34%;text-align:center;font-size:clamp(20px,1.8vw,30px);font-weight:700;color:#fff;text-shadow:0 2px 14px rgba(3,16,38,.55)}.foa--entering .foa-cover{animation:foa-cover-open .55s var(--ease-open) .4s both}.foa--leaving .foa-cover{animation:foa-cover-close .4s var(--ease-open) .04s both}@keyframes foa-cover-open{0%{transform:rotateY(0);filter:brightness(1)}to{transform:rotateY(-168deg);filter:brightness(.82)}}@keyframes foa-cover-close{0%{transform:rotateY(-168deg);filter:brightness(.82)}to{transform:rotateY(0);filter:brightness(1)}}.viewer-screen{z-index:50;display:flex;flex-direction:column;background:radial-gradient(140% 110% at 50% 0%,#f7fafc,#e8eef6 55%,#dce5ef)}.viewer-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:22px 48px 8px}.viewer-header .icon-btn:first-child{justify-self:start}.viewer-header .icon-btn:last-child{justify-self:end}.viewer-title{min-width:0;text-align:center}.viewer-breadcrumb{display:block;font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.viewer-file-name{margin:2px 0 0;font-size:clamp(21px,1.8vw,30px);font-weight:700;color:var(--brand-blue-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center}.flipbook-holder{display:grid;place-items:center;width:100%;height:100%}.flipbook{touch-action:none;overflow:hidden;filter:drop-shadow(0 30px 60px rgba(6,22,46,.25))}.flip-page{position:relative;overflow:hidden;background:#fff;border-radius:3px;display:grid;place-items:center}.flip-page-canvas{max-width:96%;max-height:94%}.flip-page-canvas.is-pending{opacity:0;transition:opacity .22s ease}.flip-page-canvas.is-ready{opacity:1;transition:opacity .22s ease}.flip-page-num{position:absolute;bottom:12px;right:16px;font-size:13px;font-weight:600;color:#a9b7c6}.viewer-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 48px 24px}.viewer-footer-side--right{justify-self:end}.page-indicator{display:grid;justify-items:center;gap:2px;padding:10px 34px;border-radius:999px;background:var(--surface);box-shadow:var(--shadow-sm);font-size:22px;font-weight:700;color:var(--brand-blue-deep);font-variant-numeric:tabular-nums}.page-hint{font-size:14px;font-weight:500;color:var(--muted);letter-spacing:.03em}.viewer-loading,.viewer-error{display:grid;justify-items:center;gap:14px;text-align:center;color:var(--ink)}.spinner{width:64px;height:64px;border-radius:50%;border:6px solid rgba(0,87,168,.15);border-top-color:var(--brand-blue);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-name{margin:0;font-size:22px;font-weight:650}.loading-progress{margin:0;font-size:18px;color:var(--muted)}.viewer-error h2{margin:0;font-size:28px}.viewer-error p{margin:0;max-width:520px;color:var(--muted);font-size:19px}.error-screen{z-index:80;display:grid;place-items:center;background:var(--bg)}.error-card{display:grid;justify-items:center;gap:16px;max-width:560px;padding:44px 52px;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md);text-align:center}.error-icon{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;color:#c98a00;background:#ffc4002e}.error-card h1{margin:0;font-size:30px;color:var(--brand-blue-deep)}.error-card p{margin:0;font-size:19px;line-height:1.5;color:var(--muted)}.error-detail{display:block;margin-top:6px;font-size:14px;color:#93a5ba;word-break:break-word}.recovering-note{font-size:18px;color:var(--muted);animation:hint-pulse 1.2s ease-in-out infinite}@media(max-width:900px),(max-height:640px){.home-header,.content-header,.viewer-header{padding-left:22px;padding-right:22px}.folder-grid,.file-cards,.viewer-footer{padding-inline:22px}.page-hint{display:none}}@media(prefers-reduced-motion:reduce){.idle-logo,.idle-logo-ring span,.idle-particle,.idle-hint{animation-duration:30s}}
