:root{color-scheme:light;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--bg: #e8eef5;--blob-1: rgba(90, 180, 255, .55);--blob-2: rgba(110, 225, 210, .45);--blob-3: rgba(255, 200, 130, .42);--blob-4: rgba(150, 160, 255, .38);--text: #0b1b2b;--text-secondary: rgba(11, 27, 43, .68);--text-tertiary: rgba(11, 27, 43, .48);--accent: #0a74c4;--accent-strong: #075e9f;--accent-contrast: #ffffff;--accent-glow: rgba(10, 116, 196, .32);--aqua: #16b3c6;--gold: #c8923a;--success: #1e9b55;--warning: #c98500;--danger: #d9382a;--glass-bg: rgba(255, 255, 255, .5);--glass-bg-strong: rgba(255, 255, 255, .72);--glass-bg-solid: rgba(255, 255, 255, .9);--glass-stroke: rgba(255, 255, 255, .78);--glass-edge: rgba(15, 45, 80, .08);--glass-highlight: rgba(255, 255, 255, .95);--glass-sheen: rgba(255, 255, 255, .55);--glass-blur: blur(30px) saturate(185%);--glass-shadow: 0 1px 2px rgba(20, 50, 90, .06), 0 10px 34px rgba(20, 50, 90, .12);--glass-shadow-lift: 0 2px 4px rgba(20, 50, 90, .08), 0 18px 48px rgba(20, 50, 90, .18);--surface-inner: rgba(255, 255, 255, .55);--surface-inner-hover: rgba(255, 255, 255, .8);--fill-subtle: rgba(11, 27, 43, .04);--fill: rgba(11, 27, 43, .07);--fill-strong: rgba(11, 27, 43, .12);--separator: rgba(11, 27, 43, .1);--control-bg: rgba(255, 255, 255, .62);--control-bg-hover: rgba(255, 255, 255, .85);--radius-2xl: 32px;--radius-xl: 26px;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 10px;--ease: cubic-bezier(.32, .72, 0, 1)}[data-theme=dark]{color-scheme:dark;--bg: #04090f;--blob-1: rgba(20, 110, 190, .5);--blob-2: rgba(10, 140, 140, .38);--blob-3: rgba(170, 110, 40, .26);--blob-4: rgba(90, 70, 190, .36);--text: #f1f5f9;--text-secondary: rgba(241, 245, 249, .7);--text-tertiary: rgba(241, 245, 249, .46);--accent: #5cc4ff;--accent-strong: #8ad5ff;--accent-contrast: #00192b;--accent-glow: rgba(92, 196, 255, .3);--aqua: #4fe0d0;--gold: #f2c46d;--success: #4ade80;--warning: #fbcd4f;--danger: #ff6b5c;--glass-bg: rgba(26, 36, 54, .42);--glass-bg-strong: rgba(34, 46, 68, .62);--glass-bg-solid: rgba(22, 31, 47, .92);--glass-stroke: rgba(255, 255, 255, .13);--glass-edge: rgba(0, 0, 0, .35);--glass-highlight: rgba(255, 255, 255, .2);--glass-sheen: rgba(255, 255, 255, .07);--glass-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 12px 40px rgba(0, 0, 0, .45);--glass-shadow-lift: 0 2px 6px rgba(0, 0, 0, .35), 0 22px 56px rgba(0, 0, 0, .55);--surface-inner: rgba(255, 255, 255, .05);--surface-inner-hover: rgba(255, 255, 255, .09);--fill-subtle: rgba(255, 255, 255, .04);--fill: rgba(255, 255, 255, .08);--fill-strong: rgba(255, 255, 255, .14);--separator: rgba(255, 255, 255, .1);--control-bg: rgba(255, 255, 255, .09);--control-bg-hover: rgba(255, 255, 255, .15)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%}body{font-family:var(--font-sans);font-size:16px;color:var(--text);background:var(--bg);position:relative;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .4s var(--ease),color .4s var(--ease)}body:before,body:after{content:"";position:fixed;inset:-8vmax;z-index:-1;pointer-events:none}body:before{background:radial-gradient(38vmax 38vmax at 18% 22%,var(--blob-1),transparent 70%),radial-gradient(34vmax 34vmax at 82% 18%,var(--blob-3),transparent 70%);animation:drift-a 38s var(--ease) infinite alternate}body:after{background:radial-gradient(40vmax 40vmax at 75% 82%,var(--blob-2),transparent 70%),radial-gradient(30vmax 30vmax at 22% 85%,var(--blob-4),transparent 70%);animation:drift-b 46s var(--ease) infinite alternate}@keyframes drift-a{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(6vmax,4vmax,0) scale(1.08)}}@keyframes drift-b{0%{transform:translateZ(0) scale(1.05)}to{transform:translate3d(-5vmax,-6vmax,0) scale(.97)}}::selection{background:color-mix(in srgb,var(--accent) 28%,transparent)}a{color:inherit;text-decoration:none}h1,h2,h3,strong,.brand{margin:0;letter-spacing:-.022em}h1{font-size:clamp(2rem,4.2vw,3rem);font-weight:700;line-height:1.08}h2{font-size:1.32rem;font-weight:650;line-height:1.25}h3{font-size:1.05rem;font-weight:600;line-height:1.35}strong{font-weight:650}p{margin:0;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}textarea,input,select{width:100%;border:1px solid var(--separator);border-radius:var(--radius-md);padding:.75rem .95rem;background:var(--control-bg);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}textarea::placeholder,input::placeholder{color:var(--text-tertiary)}textarea:focus,input:focus,select:focus{outline:none;border-color:var(--accent);background:var(--control-bg-hover);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent)}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent);box-shadow:none}input[type=range]{padding:0;border:0;background:transparent}textarea{resize:vertical}ul{margin:0;padding-left:1.2rem}li{margin-bottom:.35rem}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel,.hero-panel,.nautical-card,.login-panel,.loading-card,.error-panel,.topbar-inner{background-color:var(--glass-bg);background-image:linear-gradient(180deg,var(--glass-sheen) 0%,transparent 42%);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-stroke);box-shadow:inset 0 1px 0 var(--glass-highlight),inset 0 0 0 .5px var(--glass-edge),var(--glass-shadow)}.stat-card,.manual-card,.session-item,.weak-item,.report-item,.stats-inline article,.column-grid article,.admin-question-card,.admin-image-preview,.reference-box,.review-box,.evaluation-header,.flashcard-question-summary{background:var(--surface-inner);border:1px solid var(--separator);box-shadow:inset 0 1px color-mix(in srgb,var(--glass-highlight) 60%,transparent)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:50;padding:12px 16px 0}.topbar-inner{max-width:1180px;margin:0 auto;padding:.5rem .5rem .5rem 1.1rem;border-radius:999px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;background-color:var(--glass-bg-strong)}.brand{font-size:1.12rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:.55rem}.brand:before{content:"⚓";display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:1rem;background:linear-gradient(145deg,var(--aqua),var(--accent));box-shadow:inset 0 1px #ffffff73,0 4px 12px var(--accent-glow)}.nav-links{display:flex;gap:.25rem;justify-self:center;padding:.22rem;border-radius:999px;background:var(--fill)}.nav-links a{font-weight:550;font-size:.92rem;color:var(--text-secondary);border-radius:999px;padding:.4rem 1rem;transition:color .2s ease,background .25s var(--ease),box-shadow .25s var(--ease)}.nav-links a:hover{color:var(--text)}.nav-links a.active{color:var(--text);background:var(--glass-bg-solid);box-shadow:inset 0 1px 0 var(--glass-highlight),0 2px 8px #0000001a}.user-actions{display:flex;align-items:center;gap:.5rem}.user-email{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary);font-size:.86rem;padding:0 .4rem}.theme-toggle{display:inline-grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;border:1px solid var(--glass-stroke);background:var(--control-bg);color:var(--text);cursor:pointer;box-shadow:inset 0 1px 0 var(--glass-highlight);transition:background .2s ease,transform .3s var(--ease)}.theme-toggle svg{width:18px;height:18px}.theme-toggle:hover{background:var(--control-bg-hover);transform:rotate(-12deg)}.page-content{width:100%;max-width:1180px;margin:0 auto;padding:1.5rem 1rem 3rem;flex:1}.app-footer{max-width:1180px;margin:0 auto;padding:0 1rem 1.6rem}.stack{display:grid;gap:1.15rem}.centered-screen{min-height:100vh;display:grid;place-items:center;padding:1rem}.panel{border-radius:var(--radius-xl);padding:1.35rem;display:grid;gap:1rem}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:.9rem;flex-wrap:wrap}.hero-panel{border-radius:var(--radius-xl);padding:1.4rem 1.5rem;display:grid;gap:.5rem;background-image:linear-gradient(180deg,var(--glass-sheen) 0%,transparent 42%),linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,transparent),color-mix(in srgb,var(--gold) 12%,transparent))}.nautical-hero{position:relative;overflow:hidden;border-radius:var(--radius-2xl);color:#fff;padding:clamp(2rem,5vw,3.4rem) clamp(1.4rem,4vw,2.6rem);min-height:210px;display:grid;align-content:end;gap:.5rem;background-color:#0d2a44;box-shadow:inset 0 1px #ffffff59,inset 0 0 0 1px #ffffff24,var(--glass-shadow-lift)}.nautical-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(4,14,26,.55) 100%);pointer-events:none}.nautical-hero>*{position:relative;z-index:2}.nautical-hero .eyebrow{color:#ffffffd9}.nautical-hero p:not(.eyebrow){color:#ffffffdb;max-width:60ch}.login-panel,.loading-card,.error-panel{width:min(560px,100%);border-radius:var(--radius-xl)}.loading-card,.error-panel{padding:1.3rem 1.5rem}.loading-card{display:flex;align-items:center;gap:.8rem;color:var(--text-secondary);font-weight:500}.loading-card:before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid var(--fill-strong);border-top-color:var(--accent);animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.error-panel{display:grid;gap:.75rem;margin:2rem auto}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;color:var(--accent);font-weight:650}.muted{color:var(--text-secondary)}.success-text{color:var(--success);font-weight:600}.error-text{color:var(--danger);font-weight:600}.copyright-text{font-size:.82rem;color:var(--text-tertiary);text-align:center}.login-screen{min-height:100vh;display:grid;place-items:center;padding:1rem;background-color:#0d2a44;background-image:url(https://images.unsplash.com/photo-1471922694854-ff1b63b20054?auto=format&fit=crop&w=1600&q=80);background-size:cover;background-position:center;position:relative}.login-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,#040e1a26,#040e1a99)}.login-panel{position:relative;z-index:1;padding:2.4rem 2rem 1.6rem;display:grid;gap:1.1rem;text-align:center;background-color:var(--glass-bg-strong);border-radius:var(--radius-2xl)}.login-panel h1{font-size:clamp(2.4rem,7vw,3.2rem)}.nautical-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .75rem;border-radius:999px;font-size:.76rem;font-weight:600;color:var(--text);background:var(--control-bg);border:1px solid var(--glass-stroke);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);box-shadow:inset 0 1px 0 var(--glass-highlight);white-space:nowrap}.nautical-card-header .nautical-badge{color:#fff;background:#fff3;border-color:#ffffff59;box-shadow:inset 0 1px #fff6}.badge-danger{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 35%,transparent);box-shadow:none}.score-pill{border-radius:999px;padding:.3rem .75rem;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-weight:600}.primary-button,.secondary-button,.ghost-button,.google-button,.danger-button,.tab-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;font-weight:600;font-size:.95rem;line-height:1.2;cursor:pointer;white-space:nowrap;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s ease,filter .2s ease,border-color .2s ease}.primary-button,.google-button{padding:.78rem 1.4rem;color:var(--accent-contrast);border:1px solid color-mix(in srgb,var(--accent-strong) 60%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 82%,white),var(--accent));box-shadow:inset 0 1px #fff6,0 6px 18px var(--accent-glow)}.primary-button:hover:not(:disabled),.google-button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06);box-shadow:inset 0 1px #ffffff73,0 10px 26px var(--accent-glow)}.secondary-button,.ghost-button{padding:.78rem 1.3rem;color:var(--text);background:var(--control-bg);border:1px solid var(--glass-stroke);-webkit-backdrop-filter:blur(18px) saturate(180%);backdrop-filter:blur(18px) saturate(180%);box-shadow:inset 0 1px 0 var(--glass-highlight),0 2px 10px #0000000f}.secondary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled){background:var(--control-bg-hover);transform:translateY(-1px)}.secondary-button.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--control-bg));border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.ghost-button{padding:.5rem 1rem;font-size:.86rem}.danger-button{padding:.78rem 1.3rem;color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--control-bg));border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.danger-button:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 20%,var(--control-bg))}.tab-button{padding:.55rem 1.05rem;color:var(--text-secondary);background:var(--fill);border:1px solid transparent}.tab-button:hover:not(:disabled){color:var(--text);background:var(--fill-strong)}.tab-button.active{color:var(--accent-contrast);background:var(--accent);box-shadow:inset 0 1px #ffffff59,0 4px 14px var(--accent-glow)}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.ghost-button:active:not(:disabled),.google-button:active:not(:disabled),.danger-button:active:not(:disabled),.tab-button:active:not(:disabled){transform:scale(.97)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.google-button:disabled,.danger-button:disabled,.tab-button:disabled{opacity:.5;cursor:not-allowed}.button-row{display:flex;flex-wrap:wrap;gap:.6rem}.compact-buttons{justify-content:flex-end}.panel>.primary-button,.panel>.secondary-button{justify-self:start}.file-button{width:fit-content}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:.6rem}.stat-card{border-radius:var(--radius-lg);padding:.85rem .9rem;min-width:0;display:grid;gap:.25rem;align-content:space-between}.stat-card strong{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}.stat-label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.stat-value{font-size:1.7rem;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.stat-caption{color:var(--text-tertiary);font-size:.84rem}.period-stack{gap:1rem}.stats-inline{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stats-inline article{border-radius:var(--radius-lg);padding:.9rem 1rem}.stats-inline article h3{font-size:.84rem;font-weight:500;color:var(--text-secondary);margin-bottom:.3rem}.stats-inline article strong{font-size:1.6rem;font-variant-numeric:tabular-nums}.column-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}.column-grid article{border-radius:var(--radius-lg);padding:.9rem 1rem}.manual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.manual-entry{display:grid;gap:1rem;align-content:start}.manual-chart{border-radius:var(--radius-lg);padding:1rem;background:var(--surface-inner);border:1px solid var(--separator)}.nautical-card{border-radius:var(--radius-xl);overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.nautical-card:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 var(--glass-highlight),inset 0 0 0 .5px var(--glass-edge),var(--glass-shadow-lift)}.nautical-card-header{height:150px;background-color:#12395c;position:relative;margin:8px 8px 0;border-radius:calc(var(--radius-xl) - 8px);overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1f}.manual-card{border-radius:var(--radius-lg);padding:1rem;display:grid;gap:.75rem;transition:background .2s ease,border-color .2s ease}.manual-card:hover{background:var(--surface-inner-hover);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.manual-card h3{font-size:1.15rem}.manual-metrics{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;font-size:.88rem;color:var(--text-secondary)}.manual-metrics strong{color:var(--text);font-size:1.05rem;font-variant-numeric:tabular-nums}.progress-bar{height:8px;border-radius:999px;background:var(--fill-strong);overflow:hidden}.progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--aqua),var(--accent));box-shadow:0 0 12px var(--accent-glow);transition:width .6s var(--ease)}.manual-tab-row{display:flex;flex-wrap:wrap;gap:.4rem}.session-list,.weak-list,.report-list,.admin-question-list{display:grid;gap:.6rem}.session-item,.weak-item,.report-item{border-radius:var(--radius-lg);padding:.95rem 1.05rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}.session-item p,.weak-item p{color:var(--text-secondary);font-size:.9rem}.session-item-full{align-items:flex-start}.link-item{transition:transform .25s var(--ease),background .2s ease,border-color .2s ease}.link-item:hover{transform:translateY(-1px);background:var(--surface-inner-hover);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.report-item{display:grid;justify-content:stretch;align-items:stretch;gap:.7rem}.weak-item strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.review-box,.evaluation-header,.flashcard-question-summary{border-radius:var(--radius-md)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}.form-grid label,.panel label{display:grid;gap:.4rem;font-weight:550;font-size:.92rem}.inline-checkbox{grid-template-columns:auto 1fr;align-items:center;gap:.6rem}.inline-checkbox input{width:18px;height:18px}.reference-box{border-radius:var(--radius-md);padding:1rem;display:grid;gap:.55rem;border-style:dashed;border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.question-image{width:min(100%,720px);border-radius:var(--radius-md);border:1px solid var(--separator);background:#fff;margin-top:.6rem}.options-grid{display:grid;gap:.6rem;margin-top:1rem}.option-button{display:flex;align-items:center;gap:.9rem;padding:.95rem 1rem;border-radius:var(--radius-lg);border:1px solid var(--separator);background:var(--surface-inner);color:var(--text);cursor:pointer;text-align:left;transition:transform .25s var(--ease),background .2s ease,border-color .2s ease,box-shadow .2s ease}.option-button:hover:not(:disabled){background:var(--surface-inner-hover);border-color:color-mix(in srgb,var(--accent) 40%,transparent);transform:translateY(-1px)}.option-button:disabled{cursor:default}.option-button.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface-inner));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.option-button.correct{border-color:var(--success);background:color-mix(in srgb,var(--success) 13%,var(--surface-inner))}.option-button.incorrect{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--surface-inner))}.option-index{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--fill-strong);color:var(--text);font-weight:650;font-size:.85rem;flex-shrink:0;transition:background .2s ease,color .2s ease}.option-button.selected .option-index{background:var(--accent);color:var(--accent-contrast)}.option-button.correct .option-index{background:var(--success);color:#fff}.option-button.incorrect .option-index{background:var(--danger);color:#fff}.study-page-stack.flashcard-mode{min-height:calc(100vh - 110px);display:flex;flex-direction:column}.flashcard-container{perspective:1400px;width:100%;max-width:800px;margin:0 auto;min-height:450px;display:flex;align-items:center;justify-content:center;flex:1}.flashcard{width:100%;position:relative;transform-style:preserve-3d;transition:transform .7s var(--ease);cursor:pointer;display:grid;grid-template-columns:1fr}.flashcard.is-flipped{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{grid-area:1 / 1;width:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;padding:3rem 2rem;border-radius:var(--radius-2xl);background-color:var(--glass-bg-solid);background-image:linear-gradient(180deg,var(--glass-sheen) 0%,transparent 40%);border:1px solid var(--glass-stroke);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--glass-shadow-lift);text-align:center;min-height:450px;overflow:hidden}.flashcard-front{justify-content:center}.flashcard-back{transform:rotateY(180deg);justify-content:flex-start;background-image:linear-gradient(180deg,var(--glass-sheen) 0%,transparent 40%),linear-gradient(160deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 60%)}.flashcard-content-scroll{overflow-y:auto;max-height:50vh;padding-right:.5rem;flex:1;width:100%}.flashcard-content-scroll::-webkit-scrollbar{width:6px}.flashcard-content-scroll::-webkit-scrollbar-track{background:transparent}.flashcard-content-scroll::-webkit-scrollbar-thumb{background:var(--fill-strong);border-radius:10px}.flashcard-exit{animation:card-exit .5s var(--ease) forwards}@keyframes card-exit{to{transform:translate(-120%) rotate(-12deg);opacity:0}}.flashcard-enter{animation:card-enter .5s var(--ease) forwards}@keyframes card-enter{0%{transform:translate(120%) rotate(12deg);opacity:0}to{transform:translate(0) rotate(0);opacity:1}}.rating-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.5rem;width:100%}.rating-button{--tone: var(--accent);padding:1rem .75rem;border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--tone) 35%,transparent);background:color-mix(in srgb,var(--tone) 11%,var(--surface-inner));color:var(--tone);font-weight:650;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.4rem;box-shadow:inset 0 1px color-mix(in srgb,var(--glass-highlight) 60%,transparent);transition:transform .25s var(--ease),background .2s ease,box-shadow .25s var(--ease)}.rating-button.red{--tone: var(--danger)}.rating-button.yellow{--tone: var(--warning)}.rating-button.green{--tone: var(--success)}.rating-button:hover:not(:disabled){transform:translateY(-2px);background:color-mix(in srgb,var(--tone) 18%,var(--surface-inner));box-shadow:0 8px 22px color-mix(in srgb,var(--tone) 22%,transparent)}.rating-button:active:not(:disabled){transform:scale(.97)}.rating-button:disabled{opacity:.5;cursor:not-allowed}.rating-icon{font-size:1.5rem}.rating-label{font-size:.9rem}.rating-score{font-size:.75rem;opacity:.75}.drawing-canvas-container{margin-top:.5rem}.drawing-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.drawing-label{font-size:.85rem;color:var(--text-secondary);font-weight:550}.clear-drawing-button{font-size:.8rem;padding:.35rem .8rem;border-radius:999px;border:1px solid var(--separator);background:var(--control-bg);color:var(--text-secondary);cursor:pointer;transition:background .2s ease,border-color .2s ease}.clear-drawing-button:hover:not(:disabled){background:var(--control-bg-hover);border-color:var(--accent)}.clear-drawing-button:disabled{opacity:.45;cursor:not-allowed}.drawing-canvas{width:100%;height:300px;border:1px solid var(--separator);border-radius:var(--radius-lg);background:#fff;touch-action:none;box-shadow:inset 0 1px 3px #0000000f}.drawing-canvas:active{border-color:var(--accent)}.admin-question-card{border-radius:var(--radius-lg);overflow:hidden}.admin-question-card summary{list-style:none;cursor:pointer;padding:.9rem 1rem;display:grid;gap:.35rem;border-bottom:1px solid var(--separator)}.admin-question-card summary::-webkit-details-marker{display:none}.admin-question-body{padding:1rem;display:grid;gap:.8rem}.admin-image-area{display:grid;grid-template-columns:minmax(240px,400px) 1fr;gap:.8rem}.admin-image-section{display:grid;gap:.55rem}.admin-image-title{font-size:.95rem}.admin-image-preview{border-radius:var(--radius-md);min-height:130px;display:grid;place-items:center;overflow:hidden}.admin-image-preview img{width:100%;height:auto;display:block}.admin-image-actions{display:grid;gap:.6rem;align-content:start}.clipboard-zone{border:1px dashed var(--accent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--text-secondary);padding:.8rem}.clipboard-zone:focus{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent)}@media(max-width:860px){.topbar-inner{grid-template-columns:1fr auto;border-radius:var(--radius-xl);padding:.55rem .55rem .55rem .9rem;row-gap:.55rem}.nav-links{order:3;grid-column:1 / -1;justify-self:stretch}.nav-links a{flex:1;text-align:center}.user-email{display:none}.admin-image-area{grid-template-columns:1fr}}@media(max-width:640px){.topbar{padding:8px 10px 0}.page-content{padding:1rem .75rem 2rem}.panel,.hero-panel{padding:1.05rem;border-radius:var(--radius-lg)}.login-panel{padding:1.8rem 1.2rem 1.3rem}.nautical-hero{border-radius:var(--radius-xl);min-height:180px}.button-row{flex-direction:column}.session-item{flex-direction:column;align-items:stretch}.compact-buttons{justify-content:stretch}.primary-button,.secondary-button,.danger-button,.google-button,.tab-button{width:100%}.user-actions .ghost-button{width:auto}.flashcard-front,.flashcard-back{padding:2rem 1.2rem;border-radius:var(--radius-xl)}.rating-grid{gap:.5rem}.drawing-canvas{height:250px}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.panel,.hero-panel,.nautical-card,.login-panel,.loading-card,.error-panel,.topbar-inner{background-color:var(--glass-bg-solid)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
