.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{color:#071653;background:#eaf4ff;font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer}button:focus{outline:none}button:focus-visible,select:focus-visible{outline:3px solid rgba(22,119,255,.28);outline-offset:3px}.stage{align-items:center;background:radial-gradient(circle at 80% 12%,rgba(55,151,255,.16),transparent 28%),radial-gradient(circle at 8% 86%,rgba(89,203,255,.22),transparent 26%),linear-gradient(135deg,#f9fcff,#e7f3ff);display:flex;height:100vh;justify-content:center;overflow:hidden;padding:0;width:100vw}.app-frame{background:linear-gradient(180deg,#fffffff2,#f4fafff0),#f7fbff;border:1px solid rgba(177,208,248,.8);border-radius:0;box-shadow:0 24px 80px #2267ca21;display:grid;flex:0 0 1366px;grid-template-rows:74px minmax(0,1fr) 84px;height:768px;min-height:0;min-width:0;overflow:hidden;transform:scale(var(--app-scale, 1));transform-origin:center;width:1366px}.loading-frame{background:#eef7ff;border:0;box-shadow:none;display:block;position:relative}.loading-bg,.loading-layer{height:100%;inset:0;object-fit:cover;pointer-events:none;position:absolute;width:100%}.loading-bg{animation:loadingBgDrift 2.4s ease-in-out both;opacity:.98}.loading-layer{animation:loadingLayerFloat 2.4s ease-in-out both;opacity:.82}.loading-center{align-items:center;display:flex;flex-direction:column;left:50%;position:absolute;top:50%;transform:translate(-50%,-45%);width:520px;z-index:2}.loading-logo{animation:loadingLogoPulse 2.4s ease-in-out both;border-radius:44px;filter:drop-shadow(0 28px 42px rgba(22,119,255,.2));height:205px;object-fit:contain;width:205px}.loading-center h1{color:#071653;font-size:54px;letter-spacing:10px;line-height:1;margin:26px 0 12px;text-indent:10px}.loading-center p{color:#183267;font-size:22px;font-weight:850;letter-spacing:9px;margin:0;text-indent:9px}.loading-status{align-items:center;color:#183267;display:flex;gap:14px;justify-content:center;margin-top:58px}.loading-status strong{font-size:20px;letter-spacing:1px}.loading-spinner{animation:loadingSpin 1s linear infinite;border:5px solid rgba(22,119,255,.16);border-left-color:#1677ff;border-radius:999px;display:block;height:32px;width:32px}.loading-progress{background:#bed3eb94;border-radius:999px;height:13px;margin-top:24px;overflow:hidden;width:505px}.loading-progress i{animation:loadingProgress 2.4s cubic-bezier(.22,.74,.28,1) both;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.16) 0 8px,transparent 8px 16px),linear-gradient(90deg,#1677ff,#31a8ff);border-radius:inherit;display:block;height:100%;width:100%}@keyframes loadingBgDrift{0%{transform:scale(1.035) translate3d(-10px,8px,0)}to{transform:scale(1.005) translateZ(0)}}@keyframes loadingLayerFloat{0%{transform:translate3d(-18px,10px,0) scale(1.02)}50%{transform:translate3d(10px,-6px,0) scale(1.01)}to{transform:translateZ(0) scale(1)}}@keyframes loadingLogoPulse{0%{opacity:.8;transform:translateY(8px) scale(.96)}55%{opacity:1;transform:translateY(-4px) scale(1.03)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loadingSpin{to{transform:rotate(360deg)}}@keyframes loadingProgress{0%{transform:translate(-78%)}to{transform:translate(0)}}.app-header{align-items:center;display:flex;justify-content:space-between;padding:16px 42px 8px}.header-brand-zone{align-items:center;display:flex;gap:12px;min-width:0}.header-icon-back{align-items:center;background:#fff;border:1px solid #bcd6ff;border-radius:999px;color:#1677ff;display:flex;height:42px;justify-content:center;width:42px}.recall-header{display:grid;gap:16px;grid-template-columns:auto minmax(0,1fr) auto auto}.header-back-button{background:#fff;border:1px solid #bcd6ff;border-radius:14px;color:#1677ff;font-weight:900;min-height:42px;padding:8px 18px}.inline-back-button{background:#fff;border:1px solid #bcd6ff;border-radius:12px;color:#1677ff;font-size:14px;font-weight:900;justify-self:start;margin-bottom:10px;min-height:34px;padding:6px 12px}.recall-header-title{align-items:center;display:flex;gap:12px;min-width:0}.recall-header-title span{background:#edf7ff;border-radius:999px;color:#1677ff;font-size:13px;font-weight:900;padding:6px 10px}.recall-header-title strong{color:#071653;font-size:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recall-mode-switch{align-items:center;background:#eef5ff;border:1px solid #c9ddfb;border-radius:12px;display:inline-flex;gap:3px;padding:3px}.recall-mode-switch button{background:transparent;border:0;border-radius:9px;color:#536b9b;font-size:14px;font-weight:900;height:36px;min-width:96px;padding:0 14px}.recall-mode-switch button.active{background:#fff;box-shadow:0 3px 10px #2653971f;color:#126fe8}.compact-brand strong{font-size:24px}.brand,.header-actions,.bottom-nav,.primary-button,.secondary-button,.icon-button,.avatar-button,.stat-line,.subject-card,.topic-row,.recall-root,.button-row{align-items:center;display:flex}.brand{gap:14px}.brand strong{color:#071653;font-size:31px;font-weight:950}.brand-logo{display:block;height:46px;object-fit:contain;width:58px}.header-actions{gap:18px}.icon-button,.avatar-button{background:transparent;border:0;color:#071653;justify-content:center;position:relative}.icon-button{height:42px;width:52px}.icon-button span{background:#ff3636;border-radius:999px;color:#fff;font-size:12px;font-weight:900;line-height:1;padding:4px 6px;position:absolute;right:0;top:-8px}.avatar-button{background:#fff;border:2px solid #c5dbff;border-radius:999px;color:#8eb6ff;height:48px;width:48px}.screen-body{min-height:0;overflow:hidden;padding:0 34px 14px}.bottom-nav{background:#ffffffe6;border:1px solid #d5e6ff;border-radius:22px;box-shadow:0 10px 28px #2a5ca914;gap:10px;justify-content:space-around;margin:0 36px 14px;padding:8px 22px}.bottom-nav button{align-items:center;background:transparent;border:0;color:#74829e;display:grid;font-size:17px;font-weight:850;gap:4px;justify-items:center;min-width:160px;padding:6px 12px;position:relative}.bottom-nav button:focus-visible{outline:none}.bottom-nav button.active{color:#1677ff}.bottom-nav button.active:after{background:#1677ff;border-radius:999px;bottom:-8px;content:"";height:4px;position:absolute;width:62px}.page-grid{display:grid;gap:24px;height:100%;min-height:0}.home-layout{grid-template-columns:minmax(0,1.35fr) minmax(310px,.72fr);grid-template-rows:minmax(0,1fr) 190px}.hero-card,.progress-card,.continue-panel,.subjects-panel,.subject-hero,.topic-list-card,.structure-browser,.recall-hero,.recall-tree-card,.recall-task-card,.profile-hero-card,.profile-card,.profile-stat-grid article{background:linear-gradient(145deg,#fffffff5,#f9fcffe0),#fff;border:1px solid #cfe2ff;border-radius:20px;box-shadow:0 14px 38px #285ba614}.hero-card{display:grid;gap:12px;grid-column:1;grid-row:1;grid-template-columns:minmax(0,1fr) 260px;overflow:hidden;padding:34px 42px}.hero-copy span,.subject-hero span,.recall-hero span,.profile-hero-card span{color:#365487;font-size:18px;font-weight:760}.hero-copy h1,.subject-hero h1,.recall-hero h1,.profile-hero-card h1{color:#06145c;font-size:clamp(34px,3.05vw,48px);letter-spacing:0;line-height:1.06;margin:18px 0 12px}.hero-copy p,.subject-hero p,.recall-hero p,.profile-hero-card p,.profile-card p,.profile-card span{color:#536b9b;font-size:17px;line-height:1.5;margin:0}.primary-button,.secondary-button{border-radius:16px;font-weight:900;gap:10px;justify-content:center;min-height:48px;padding:11px 20px}.primary-button{background:linear-gradient(180deg,#2588ff,#0968ed);border:0;box-shadow:0 12px 22px #1677ff40;color:#fff;margin-top:20px}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.45}.secondary-button{background:#fff;border:1px solid #bcd6ff;color:#1677ff}.primary-button.wide{width:100%}.hero-art{align-items:center;display:flex;justify-content:center}.book-plate{align-items:center;background:radial-gradient(circle at 50% 40%,rgba(22,119,255,.2),transparent 56%),linear-gradient(180deg,#fff,#ddecff);border-radius:36px;color:#1677ff;display:grid;height:180px;justify-items:center;position:relative;width:210px}.book-plate svg:last-child{color:#28d3e6;position:absolute;top:58px}.progress-card{grid-column:2;grid-row:1;padding:26px 28px}.progress-card h2,.continue-panel h2,.subjects-panel h2,.topic-list-card h2,.structure-browser h2,.recall-tree-card h2,.recall-task-card h2,.profile-card h2{color:#071653;font-size:24px;letter-spacing:0;margin:0}.progress-content{align-items:center;display:grid;gap:18px;grid-template-columns:minmax(0,1fr);height:calc(100% - 38px);justify-items:center}.progress-ring{align-items:center;background:conic-gradient(#1677ff var(--value),#e8eef8 0),#edf4ff;border-radius:999px;display:flex;height:144px;justify-content:center;position:relative;width:144px}.progress-ring:before{background:#fff;border-radius:inherit;content:"";height:106px;position:absolute;width:106px}.progress-ring div{display:grid;justify-items:center;position:relative;z-index:1}.progress-ring strong{color:#06145c;font-size:32px;font-weight:950}.progress-ring span{color:#536b9b;font-weight:850}.progress-ring.compact{height:118px;width:118px}.progress-ring.compact:before{height:88px;width:88px}.progress-ring.compact strong{font-size:27px}.progress-ring.compact span{font-size:12px}.stat-list{display:grid;gap:8px;width:100%}.stat-line{border-bottom:1px solid #e2ecfb;display:grid;gap:10px;grid-template-columns:40px minmax(0,1fr) auto;padding:6px 0 10px}.stat-icon{align-items:center;border-radius:12px;display:flex;height:36px;justify-content:center;width:36px}.stat-icon.blue{background:#d8eaff;color:#1677ff}.stat-icon.green{background:#d8f8e7;color:#22b96b}.stat-icon.violet{background:#e8e3ff;color:#7164df}.stat-line p{color:#405b8b;font-weight:780;margin:0}.stat-line strong{color:#071653;font-size:20px}.continue-panel,.subjects-panel{padding:22px 24px}.continue-panel{align-content:start;grid-column:1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:stretch}.section-title-row{align-items:center;display:flex;gap:14px;justify-content:space-between}.section-title-row span,.section-title-row select{color:#536b9b;font-weight:850}.section-title-row select{background:#f7fbff;border:1px solid #cfe2ff;border-radius:12px;max-width:260px;padding:9px 12px}.continue-panel h3{color:#071653;font-size:23px;margin:6px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.continue-panel p{color:#536b9b;font-size:14px;line-height:1.5;margin:0}.continue-progress{display:grid;gap:8px;margin-top:4px}.continue-progress span{color:#071653;font-size:15px;font-weight:900}.continue-progress i{background:#e7eef9;border-radius:999px;display:block;height:10px;overflow:hidden}.continue-progress b{background:linear-gradient(90deg,#1677ff,#31d3e7);border-radius:inherit;display:block;height:100%}.continue-panel .primary-button{margin-top:8px;width:100%}.mini-progress{background:#e7eef9;border-radius:999px;height:10px;margin-top:12px;overflow:hidden}.mini-progress span{background:linear-gradient(90deg,#1677ff,#31d3e7);display:block;height:100%}.subject-card strong,.topic-row strong,.aspect-node strong,.recall-node strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subjects-panel{grid-column:2;grid-row:2;display:grid;gap:12px;grid-template-columns:minmax(0,.72fr) minmax(0,1fr)}.subjects-panel p{color:#60769f;font-size:14px;line-height:1.45;margin:10px 0 0}.subject-grid{display:grid;gap:10px;grid-template-columns:minmax(0,1fr);margin-top:0}.subject-card{background:#f7fbff;border:1px solid #d7e8ff;border-radius:16px;color:#1677ff;display:grid;gap:12px;grid-template-columns:38px minmax(0,1fr) 18px;min-height:42px;padding:9px 10px;text-align:left}.subject-card.green{color:#28b96d}.subject-card.violet{color:#7867f2}.subject-card.orange{color:#f09023}.subject-card.active{background:#eef7ff;border-color:#b9d7ff}.subject-card strong{color:#071653;display:block;font-size:16px}.subject-card span{color:#7183a7;font-size:13px;font-weight:850}.study-layout{display:grid;gap:22px;grid-template-columns:420px minmax(0,1fr);grid-template-rows:214px minmax(0,1fr);height:100%}.subject-hero{align-items:center;display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) 160px;padding:28px 36px}.subject-hero h1{font-size:44px}.subject-hero .primary-button{margin-top:16px}.topic-list-card,.structure-browser{min-height:0;overflow:hidden;padding:22px}.topic-list{display:grid;gap:10px;height:calc(100% - 42px);margin-top:14px;overflow:auto;padding-right:4px}.topic-row{background:#fbfdff;border:1px solid #d7e8ff;border-radius:14px;color:#071653;display:grid;gap:10px;grid-template-columns:16px minmax(0,1fr) auto 20px;min-height:56px;padding:11px 12px;text-align:left}.topic-row.active{background:#edf7ff;border-color:#94c5ff;box-shadow:inset 0 0 0 1px #b9d8ff}.topic-row em{color:#6177a2;font-size:13px;font-style:normal;white-space:nowrap}.blue-dot{background:#1677ff;border-radius:999px;height:14px;width:14px}.aspect-browser{height:calc(100% - 48px);margin-top:18px;overflow:auto}.root-node{align-items:center;background:linear-gradient(180deg,#2588ff,#0968ed);border-radius:16px;color:#fff;display:inline-flex;font-size:22px;font-weight:920;gap:10px;margin-bottom:20px;padding:16px 22px}.aspect-columns{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.aspect-column{display:grid;gap:9px}.aspect-node{align-items:center;background:#fbfdff;border:1px solid #d7e8ff;border-radius:13px;display:grid;gap:8px;grid-template-columns:20px minmax(0,1fr) auto;min-height:42px;padding:10px 12px}.aspect-node.primary{background:#edf7ff;border-color:#9fcbff}.aspect-node.primary span{align-items:center;background:#1677ff;border-radius:999px;color:#fff;display:flex;font-size:12px;font-weight:920;height:23px;justify-content:center;width:23px}.aspect-node em{color:#7183a7;font-size:12px;font-style:normal;white-space:nowrap}.tiny-dot{background:#1677ff;border-radius:999px;height:8px;width:8px}.recall-layout{display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100%}.recall-hero{align-items:center;display:grid;grid-column:1 / -1;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;padding:14px 22px}.recall-hero h1{font-size:28px;margin:6px 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recall-hero p{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recall-tree-card,.recall-task-card{min-height:0;padding:18px 20px}.recall-tree-card{overflow:hidden}.recall-task-card{overflow:visible}.recall-tree{margin-top:10px;pointer-events:none}.recall-root{align-items:center;background:linear-gradient(180deg,#f8fbff,#eef6ff);border:2px solid #1677ff;border-radius:14px;box-shadow:0 12px 28px #0f6ceb1f;color:#071653;display:flex;font-size:19px;font-weight:940;gap:10px;justify-content:center;margin:0;min-height:50px;padding:10px 16px;position:relative;width:min(300px,62%)}.recall-root svg{color:#1677ff;flex:0 0 auto}.recall-root span,.recall-parent-node span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recall-tree-stage{--tree-gap-y: 28px;--tree-root-stem-x: 82px;--tree-parent-connector: 36px;--tree-parent-stem-x: 58px;--tree-child-connector: 46px;align-items:stretch;display:flex;flex-direction:column;margin:0 auto;max-width:520px;min-height:360px;width:100%}.recall-parent-node{align-items:center;background:#fff;border:2px solid #1677ff;border-radius:14px;box-shadow:0 10px 22px #145fd41a;color:#071653;display:flex;font-size:18px;font-weight:920;gap:10px;justify-content:center;min-height:50px;padding:10px 16px;position:relative;width:min(290px,100%)}.recall-parent-node svg{color:#1677ff;flex:0 0 auto}.recall-tree-children{--tree-connector: 42px;display:grid;gap:8px;margin-left:var(--tree-stem-x);margin-top:var(--tree-gap-y);padding-left:var(--tree-connector);position:relative;width:100%}.recall-tree-children:before{background:linear-gradient(180deg,#1677ff,#a9bfdc 52%,#d5dfef);content:"";height:calc(100% + var(--tree-gap-y) - 26px);left:0;position:absolute;top:calc(-1 * var(--tree-gap-y));width:3px}.recall-tree-children.level-one{--tree-stem-x: var(--tree-root-stem-x);--tree-connector: var(--tree-parent-connector)}.recall-tree-children.level-two{--tree-stem-x: var(--tree-parent-stem-x);--tree-connector: var(--tree-child-connector);margin-top:var(--tree-gap-y)}.recall-tree-branch{display:grid;gap:8px;position:relative}.recall-tree-branch:last-child:after{background:#fff;content:"";height:calc(50% + 14px);left:calc(-1 * var(--tree-connector) - 2px);position:absolute;top:calc(50% + 1px);width:6px;z-index:1;pointer-events:none}.recall-tree-branch:last-child>.recall-tree-node:before,.recall-tree-branch:last-child>.recall-tree-node:after{z-index:2}.recall-tree-children.nested{--tree-connector: 30px;gap:7px;margin-left:46px;margin-top:8px;padding-left:var(--tree-connector)}.recall-tree-children.nested:before{background:linear-gradient(180deg,#8ebfff,#c7d6ea);height:calc(100% + 8px);top:-8px;width:2px}.recall-tree-node,.recall-node{align-items:center;background:#fff;border:1px solid #d7e8ff;border-radius:13px;box-shadow:0 8px 20px #1d4c940f;display:grid;gap:10px;grid-template-columns:32px minmax(0,1fr) auto;min-height:46px;padding:8px 10px;position:relative}.recall-node{width:min(280px,100%)}.recall-tree-children.nested .recall-node{min-height:42px;width:min(248px,100%)}.recall-tree-children.nested .recall-node strong{font-size:15px}.recall-tree-children.nested .recall-node em{font-size:12px}.recall-parent-node.recall-tree-node{border:2px solid #1677ff;box-shadow:0 10px 22px #145fd41a;color:#071653;font-size:20px;justify-content:center;min-height:58px;width:min(290px,100%)}.recall-tree-node:before{background:#a9bfdc;content:"";height:2px;left:calc(-1 * var(--tree-connector));position:absolute;top:50%;width:var(--tree-connector)}.recall-tree-node:after{background:#fff;border:3px solid #a9bfdc;border-radius:999px;content:"";height:10px;left:calc(-1 * var(--tree-connector) - 6px);position:absolute;top:50%;transform:translateY(-50%);width:10px}.recall-tree-children:before,.recall-tree-node:before,.recall-tree-node:after{pointer-events:none}.recall-node-marker{align-items:center;border-radius:999px;display:flex;font-weight:950;height:28px;justify-content:center;width:28px}.recall-node strong{font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recall-node.hidden{background:#f6faffd1;border-style:dashed;color:#8a9bb8}.recall-node.hidden .recall-node-marker{background:#dce6f5}.recall-node.revealed{background:#edf7ff;border-color:#93c5ff;color:#071653}.recall-node.revealed:after{border-color:#1677ff}.recall-node.revealed .recall-node-marker{background:#1677ff;color:#fff}.recall-node.mastered{background:#edfff5;border-color:#84dcae;color:#0a5a34}.recall-node.mastered:after{border-color:#2ac66d}.recall-node.mastered .recall-node-marker{background:#2ac66d;color:#fff}.recall-node em{color:#6177a2;font-style:normal;font-weight:850}.recall-task-card{display:flex;flex-direction:column;overflow:hidden}.recall-task-card .section-title-row{align-items:start;flex:0 0 auto}.recall-task-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 2px 12px;scrollbar-gutter:stable}.recall-action-footer{align-items:center;border-top:1px solid #e0ecfb;display:flex;flex:0 0 76px;gap:12px;justify-content:flex-end;margin-top:12px;min-height:76px;padding-top:14px}.recall-action-footer .secondary-button,.recall-action-footer .primary-button{align-self:center;height:48px;margin-top:0;min-width:150px}.question-box,.answer-box{border:1px solid #cfe2ff;border-radius:16px;color:#071653;font-size:17px;line-height:1.45;margin-top:12px;padding:14px}.question-box{background:#f5faff;font-weight:850}.answer-box{background:#fffef7}.answer-box p{margin:0 0 10px}.atomic-answer-list{display:grid;gap:12px;padding-bottom:4px}.atomic-unit-answer{display:grid;gap:10px}.atomic-unit-answer p{margin:0}.atomic-unit-index{color:#536b9b;font-size:13px;font-weight:850}.candidate-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.candidate-grid button{align-items:center;background:#fff;border:1px solid #cfe2ff;border-radius:14px;box-shadow:0 8px 18px #1b4d970d;color:#071653;display:grid;font-weight:850;gap:12px;grid-template-columns:32px minmax(0,1fr);justify-content:start;min-height:64px;padding:12px 16px;text-align:left}.candidate-grid button strong{font-size:16px;line-height:1.35;min-width:0;overflow-wrap:anywhere}.candidate-check{align-items:center;background:#f7fbff;border:2px solid #c9d7ea;border-radius:8px;color:#1677ff;display:flex;height:28px;justify-content:center;width:28px}.candidate-grid button.selected{background:#e8f4ff;border-color:#1677ff;color:#1677ff}.candidate-grid button.revealed{background:#edfff5;border-color:#58cc8f;color:#0a7a43}.candidate-grid button.incorrect{background:#fff1f2;border-color:#ef4444;color:#b91c1c}.candidate-grid button.selected .candidate-check,.candidate-grid button.revealed .candidate-check{background:#1677ff;border-color:#1677ff;color:#fff}.candidate-grid button.revealed .candidate-check{background:#2ac66d;border-color:#2ac66d}.candidate-grid button.incorrect .candidate-check{background:#ef4444;border-color:#ef4444;color:#fff}.recall-tree-footer{align-items:center;border-top:1px solid #e0ecfb;display:flex;gap:14px;justify-content:space-between;margin-top:18px;padding-top:16px}.recall-tree-footer span{background:#f4f9ff;border-radius:12px;color:#536b9b;font-weight:850;padding:10px 14px}.focus-tree{display:grid;gap:12px;margin-top:14px}.focus-root{align-items:center;background:linear-gradient(180deg,#f8fbff,#eef6ff);border:2px solid #1677ff;border-radius:14px;color:#071653;display:flex;font-size:18px;font-weight:940;gap:10px;min-height:50px;padding:10px 14px}.focus-root svg{color:#1677ff;flex:0 0 auto}.focus-root span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.focus-chain{border-left:3px solid #b6d7ff;display:grid;gap:9px;margin-left:19px;padding-left:18px}.focus-pruned-tree{display:grid;gap:8px}.focus-collapsed-path{align-items:center;background:#f7fbff;border:1px dashed #b9d5f7;border-radius:10px;color:#58749f;display:flex;font-size:12px;font-weight:800;gap:7px;min-height:30px;overflow:hidden;padding:6px 10px;text-overflow:ellipsis;white-space:nowrap}.focus-collapsed-path svg{color:#1677ff;flex:0 0 auto}.focus-children{border-left:2px solid #d6e8ff;display:grid;gap:8px;margin-left:15px;padding-left:14px}.focus-pruned-tree>.focus-children{margin-left:8px}.focus-branch{display:grid;gap:8px}.focus-node{align-items:center;background:#fff;border:1px solid #d7e8ff;border-radius:13px;display:grid;gap:10px;grid-template-columns:30px minmax(0,1fr) auto;min-height:46px;padding:8px 10px}.focus-node.has-importance{grid-template-columns:30px minmax(0,1fr) auto 26px}.focus-node>.focus-marker{align-items:center;background:#eaf4ff;border-radius:999px;color:#1677ff;display:flex;font-weight:950;height:28px;justify-content:center;width:28px}.focus-node strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.focus-node em{color:#6177a2;font-size:12px;font-style:normal;font-weight:850}.focus-node.current{background:#eef5ff;border-color:#1d4ed8;color:#0f2f75}.focus-node.current>.focus-marker{background:#1d4ed8;color:#fff}.importance-ribbon{align-items:center;align-self:center;border-radius:7px 7px 2px 2px;clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);display:inline-flex;flex:0 0 24px;font-size:13px;font-style:normal;font-weight:950;height:30px;justify-content:center;line-height:1;padding-bottom:3px;position:relative;text-shadow:0 1px 0 rgba(255,255,255,.22);width:24px}.importance-master{background:linear-gradient(180deg,#35c681,#15945a);box-shadow:0 5px 12px #15945a3d;color:#fff}.importance-familiar{background:linear-gradient(180deg,#5ca6ff,#2477e8);box-shadow:0 5px 12px #2477e83d;color:#fff}.importance-understand{background:linear-gradient(180deg,#ffe16b,#f2b72b);box-shadow:0 5px 12px #e0a41538;color:#684900}.importance-unimportant{background:linear-gradient(180deg,#dce3ed,#a9b5c7);box-shadow:0 5px 12px #5f6f892e;color:#3f4c61}.focus-node.path{background:#f6fbff}.focus-node.sibling{opacity:.82}.focus-relatives{background:#f7fbff;border:1px solid #dbeafe;border-radius:14px;display:flex;flex-wrap:wrap;gap:8px;padding:12px}.focus-relatives p{color:#536b9b;flex-basis:100%;font-size:13px;font-weight:900;margin:0}.focus-relatives span{background:#fff;border:1px solid #d7e8ff;border-radius:999px;color:#183267;font-size:13px;font-weight:850;padding:6px 9px}.focus-relatives.child span{border-color:#b9e8d0;color:#0a5a34}.focus-unit{align-items:center;background:#eef5ff;border:1px solid #9fc3ff;border-radius:14px;color:#0f2f75;display:flex;font-weight:900;gap:8px;min-height:42px;padding:10px 12px}.hint-text{background:#f4f9ff;border-radius:14px;color:#536b9b;font-weight:820;line-height:1.45;margin:16px 0 0;padding:12px 14px}.button-row{gap:12px;flex-wrap:wrap;margin-top:14px}.unit-step{background:#edf7ff;border-radius:999px;color:#1677ff;font-weight:950;justify-self:start;margin-top:18px;padding:8px 12px}.recall-task-card h3{color:#071653;font-size:22px;line-height:1.38;margin:16px 0 0}.recall-task-path{color:#536b9b;font-size:14px;font-weight:800;line-height:1.35;margin:6px 0 0}.done-panel{align-content:center;display:grid;gap:12px;justify-items:start;min-height:360px}.done-panel svg{color:#2ac66d}.done-panel h3{font-size:28px;margin:0}.done-panel p{color:#536b9b;margin:0}.profile-layout{display:grid;gap:14px;grid-template-columns:1fr 1fr;grid-template-rows:126px 112px minmax(0,1fr);height:100%}.profile-hero-card{align-items:center;display:flex;gap:24px;grid-column:1 / -1;padding:34px 42px}.profile-avatar{align-items:center;background:linear-gradient(180deg,#2588ff,#0968ed);border-radius:24px;color:#fff;display:flex;font-size:42px;font-weight:950;height:96px;justify-content:center;width:96px}.profile-stat-grid{display:grid;gap:18px;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr))}.profile-stat-grid article,.profile-card{display:grid;padding:24px}.profile-stat-grid strong{color:#1677ff;font-size:34px}.profile-stat-grid span,.profile-card span{color:#6177a2;font-weight:850}.profile-card{align-content:start;gap:14px}.empty-state{align-items:center;color:#536b9b;display:flex;height:100%;justify-content:center}@media(max-aspect-ratio:16 / 9){.app-frame{max-width:calc(100vw - 18px)}}@media(max-width:1180px){.app-frame{grid-template-rows:70px minmax(0,1fr) 82px}.app-header{padding:14px 28px 6px}.screen-body{padding:0 22px 14px}.bottom-nav{margin:0 24px 14px}.home-layout{gap:16px}.hero-card{grid-template-columns:minmax(0,1fr) 250px;padding:30px}.book-plate{height:170px;width:200px}.book-plate svg:first-child{width:96px}.progress-ring{height:126px;width:126px}.progress-ring:before{height:94px;width:94px}.progress-ring strong{font-size:28px}.continue-panel,.subjects-panel,.progress-card{padding:20px}.subject-grid{gap:10px}.study-layout{grid-template-columns:360px minmax(0,1fr);grid-template-rows:180px minmax(0,1fr)}.recall-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.recall-tree-stage{--tree-root-stem-x: 60px;--tree-parent-connector: 28px;--tree-parent-stem-x: 44px;--tree-child-connector: 34px}.recall-root{width:min(250px,62%)}.recall-parent-node.recall-tree-node{width:min(230px,100%)}.recall-node{width:min(190px,100%)}}.screen-body{overflow-x:hidden;overflow-y:auto;padding:0 28px 10px}.scroll-page{display:grid;gap:16px;margin:0 auto;max-width:1480px;min-height:min-content;padding-bottom:0}.current-task-card,.home-hero-card,.home-progress-card,.home-memory-card,.study-summary-card{background:linear-gradient(145deg,#fffffffa,#f7fbffeb),#fff;border:1px solid #cfe2ff;border-radius:20px;box-shadow:0 14px 38px #285ba614}.home-hero-card{align-items:center;display:grid;gap:18px;grid-column:span 2;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);min-height:218px;overflow:hidden;padding:22px 28px;position:relative}.home-hero-card:after{background:radial-gradient(circle at 62% 50%,rgba(22,119,255,.1),transparent 30%),linear-gradient(90deg,transparent,rgba(237,247,255,.7));content:"";inset:0;pointer-events:none;position:absolute}.current-task-copy{min-width:0}.current-task-copy span,.study-summary-card span{color:#365487;font-weight:850}.current-task-copy h1{color:#06145c;font-size:clamp(32px,3.8vw,50px);letter-spacing:0;line-height:1.06;margin:10px 0 8px;overflow-wrap:anywhere}.current-task-copy p{color:#536b9b;font-size:18px;line-height:1.45;margin:0}.task-meta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.task-meta-row em,.summary-actions span{background:#edf7ff;border-radius:999px;color:#1677ff;font-size:14px;font-style:normal;font-weight:900;padding:8px 13px}.home-hero-logo{filter:drop-shadow(0 22px 34px rgba(22,119,255,.16));justify-self:center;max-height:200px;max-width:320px;object-fit:contain;position:relative;z-index:1}.current-task-art{align-items:center;color:#1677ff;display:grid;justify-items:center;min-height:170px;position:relative}.current-task-art:before{background:radial-gradient(circle at 50% 58%,rgba(22,119,255,.2),transparent 55%),linear-gradient(180deg,#edf7ffcc,#fff3);border-radius:40px;content:"";height:150px;position:absolute;width:230px}.current-task-art svg{filter:drop-shadow(0 16px 18px rgba(22,119,255,.18));position:relative;z-index:1}.current-task-art svg:last-child{bottom:18px;color:#2fd3df;position:absolute;right:46px;transform:rotate(-26deg)}.molecule-chain{inset:14px auto auto 18px;position:absolute;z-index:1}.molecule-chain:before,.molecule-chain:after{background:#1677ff47;content:"";height:2px;left:22px;position:absolute;top:24px;transform:rotate(27deg);transform-origin:left center;width:112px}.molecule-chain:after{left:86px;top:50px;transform:rotate(-28deg);width:88px}.molecule-chain i{background:linear-gradient(180deg,#98c8ff,#1677ff);border-radius:999px;box-shadow:0 8px 14px #1677ff38;display:block;height:24px;position:absolute;width:24px}.molecule-chain i:nth-child(1){left:0;top:10px}.molecule-chain i:nth-child(2){left:58px;top:38px}.molecule-chain i:nth-child(3){left:118px;top:8px}.molecule-chain i:nth-child(4){left:154px;top:52px}.current-task-side{align-items:center;display:grid;gap:14px;justify-items:stretch}.current-task-actions{display:grid;gap:12px}.current-task-actions .primary-button,.current-task-actions .secondary-button{margin-top:0;width:100%}.home-page .subjects-panel,.home-page .progress-card,.home-progress-card,.home-memory-card{display:grid;grid-column:auto;grid-row:auto;min-height:0}.home-page .subjects-panel{align-content:start;gap:10px;grid-template-columns:minmax(0,1fr);padding:18px 22px}.home-progress-card{align-items:center;gap:14px;grid-template-columns:158px minmax(0,1fr);min-height:218px;padding:18px 20px}.home-progress-card h2{color:#071653;font-size:24px;grid-column:1 / -1;margin:0}.home-progress-grid{display:grid;gap:10px}.home-progress-grid .stat-line{gap:8px;grid-template-columns:38px minmax(0,1fr) auto}.home-progress-grid .stat-line strong{font-size:18px;line-height:1.15;max-width:none;overflow-wrap:normal;text-align:right;white-space:nowrap}.home-memory-card{align-content:start;gap:10px;padding:18px 22px}.memory-step-list{display:grid;gap:8px}.memory-step-list div{align-items:center;background:#fbfdff;border:1px solid #d7e8ff;border-radius:16px;display:grid;gap:12px;grid-template-columns:34px minmax(0,1fr);padding:9px 12px}.memory-step-list strong{align-items:center;background:linear-gradient(180deg,#2588ff,#0968ed);border-radius:999px;color:#fff;display:flex;height:30px;justify-content:center;width:30px}.memory-step-list span{color:#071653;font-size:15px;font-weight:950}.memory-step-list em{color:#6177a2;font-style:normal;font-weight:820;grid-column:2}.home-page .progress-card{align-content:start;padding:24px 28px}.home-achievement-list{display:grid;gap:12px;margin-top:18px}.home-achievement-list .stat-line{background:#fbfdff;border:1px solid #d7e8ff;border-radius:16px;min-height:68px;padding:10px 14px}.home-achievement-list .stat-line strong{color:#1677ff;font-size:26px}.subject-select-page,.discipline-page{grid-template-columns:minmax(0,1fr)}.subject-select-hero{align-items:center;background:radial-gradient(circle at 78% 28%,rgba(22,119,255,.13),transparent 28%),linear-gradient(135deg,#fff,#f4faff);border:1px solid #cfe2ff;border-radius:22px;box-shadow:0 18px 44px #23559e14;display:flex;justify-content:space-between;min-height:106px;padding:20px 28px}.subject-select-hero span,.discipline-hero span{color:#1677ff;font-size:15px;font-weight:950}.subject-select-hero h1,.discipline-hero h1,.topic-hero-card h1{color:#06145c;font-size:clamp(28px,2.7vw,42px);letter-spacing:0;line-height:1.08;margin:8px 0 10px}.subject-select-hero p,.discipline-hero p,.topic-hero-card p{color:#536b9b;font-size:17px;line-height:1.45;margin:0}.subject-select-count{align-items:center;background:#edf7ff;border:1px solid #d7e8ff;border-radius:18px;color:#1677ff;display:grid;min-width:150px;padding:18px;text-align:center}.subject-select-count strong{color:#06145c;font-size:38px}.subject-select-count em{color:#6177a2;font-style:normal;font-weight:900}.subject-select-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.subject-choice-card{align-items:center;background:linear-gradient(145deg,#fffffffa,#f7fbfff0),#fff;border:1px solid #cfe2ff;border-radius:22px;box-shadow:0 16px 38px #285ba614;color:#1677ff;display:grid;gap:12px;grid-template-columns:56px minmax(0,1fr) 150px 28px;min-height:138px;overflow:hidden;padding:16px 20px;position:relative;text-align:left}.subject-choice-card.locked{cursor:not-allowed;opacity:.68}.subject-choice-card.active{border-color:#94c5ff;box-shadow:0 20px 44px #1677ff21}.subject-choice-card h2,.module-card h3{color:#071653;font-size:22px;margin:0 0 6px}.subject-choice-card p,.subject-choice-card em,.module-card p,.module-card em,.section-subtitle{color:#6177a2;font-style:normal;font-weight:820;line-height:1.45;margin:0}.subject-choice-card em,.module-card em{display:block;margin-top:8px}.subject-choice-icon{align-items:center;background:#edf7ff;border:1px solid #d7e8ff;border-radius:16px;display:flex;height:54px;justify-content:center;width:54px;z-index:1}.subject-choice-art{align-self:center;height:112px;justify-self:end;object-fit:contain;width:150px}.subject-choice-card.green .subject-choice-icon{color:#28b96d}.subject-choice-card.blue .subject-choice-icon{color:#1677ff}.subject-choice-card.violet .subject-choice-icon{color:#7867f2}.subject-choice-card.orange .subject-choice-icon{color:#f09023}.discipline-top-grid,.topic-top-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.95fr) minmax(360px,.9fr)}.discipline-hero,.topic-hero-card,.discipline-progress-card,.topic-status-card{background:linear-gradient(145deg,#fffffffa,#f6fbffed),#fff;border:1px solid #cfe2ff;border-radius:22px;box-shadow:0 18px 44px #23559e14}.discipline-hero,.topic-hero-card{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);min-height:214px;overflow:hidden;padding:22px 28px;position:relative}.hero-copy,.topic-hero-copy{position:relative;z-index:1}.hero-metrics{align-items:center;color:#4d6698;display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.hero-metrics strong{color:#1677ff;font-size:17px}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.hero-buttons .primary-button,.hero-buttons .secondary-button{margin-top:0}.discipline-hero-art,.topic-hero-art{filter:drop-shadow(0 26px 38px rgba(22,119,255,.16));justify-self:end;max-height:190px;max-width:100%;object-fit:contain}.discipline-progress-card,.topic-status-card{display:grid;gap:14px;grid-template-columns:150px minmax(0,1fr);min-height:214px;padding:20px 22px}.discipline-progress-card h2,.topic-status-card h2{color:#071653;font-size:24px;grid-column:1 / -1;margin:0}.discipline-progress-lines{align-self:center;display:grid;gap:10px}.discipline-progress-lines .stat-line{gap:8px;grid-template-columns:38px minmax(64px,1fr) minmax(0,auto)}.discipline-progress-lines .stat-line p{line-height:1.2}.discipline-progress-lines .stat-line strong{font-size:18px;line-height:1.15;max-width:82px;overflow-wrap:anywhere;text-align:right}.module-strip-card,.discipline-chapter-card{background:linear-gradient(145deg,#fffffffa,#f7fbffeb),#fff;border:1px solid #cfe2ff;border-radius:22px;box-shadow:0 14px 38px #285ba614;padding:18px 22px}.module-strip{display:flex;gap:12px;margin-top:14px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x mandatory}.module-card{background:radial-gradient(circle at 82% 18%,rgba(22,119,255,.08),transparent 28%),#fbfdff;border:1px solid #d7e8ff;border-radius:18px;color:#1677ff;flex:0 0 min(310px,72vw);min-height:152px;padding:16px;position:relative;scroll-snap-align:start;text-align:left}.chapter-group-card{align-content:start;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:12px}.chapter-group-card .module-icon{grid-row:1 / span 2;margin:0}.chapter-group-card .module-range{align-self:center;color:#1677ff;font-size:13px;font-weight:900;line-height:1.2}.chapter-group-card h3{grid-column:1 / -1;margin-top:14px}.module-card.active{background:linear-gradient(145deg,#eff8ff,#fff);border-color:#94c5ff;box-shadow:0 16px 32px #1677ff1a}.module-card.locked{color:#8fa0bd;cursor:not-allowed}.module-card>span:not(.module-icon){background:#edf7ff;border-radius:999px;color:#1677ff;display:inline-flex;font-weight:900;margin-bottom:8px;padding:6px 10px}.module-icon{align-items:center;background:linear-gradient(180deg,#2588ff,#0968ed);border-radius:14px;box-shadow:0 12px 24px #1677ff2e;color:#fff;display:flex;font-size:18px;font-weight:950;height:38px;justify-content:center;margin-bottom:10px;width:38px}.module-card.locked .module-icon{background:#edf3fb;box-shadow:none;color:#8fa0bd}.module-card svg{bottom:18px;position:absolute;right:18px}.chapter-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chapter-pill-row span{background:#edf7ff;border-radius:999px;color:#1677ff;font-weight:900;padding:8px 12px}.study-page{grid-template-columns:minmax(0,1fr)}.topic-breadcrumb{color:#536b9b;font-size:15px;font-weight:900;margin-bottom:6px}.topic-hero-card{grid-template-columns:minmax(0,1fr);min-height:174px}.topic-hero-art{opacity:.92}.study-summary-card{align-items:center;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) auto;min-height:132px;padding:24px 30px}.study-summary-card h1{color:#06145c;font-size:clamp(28px,2.6vw,38px);margin:8px 0}.study-summary-card p{color:#536b9b;font-size:16px;line-height:1.45;margin:0}.summary-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;max-width:460px}.summary-actions .primary-button{margin-top:0}.map-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.map-toolbar>button:not(.secondary-button){align-items:center;background:#f7fbff;border:1px solid #cfe2ff;border-radius:12px;color:#1677ff;display:flex;font-size:20px;font-weight:950;height:38px;justify-content:center;width:38px}.map-toolbar span{color:#536b9b;font-weight:900;min-width:48px;text-align:center}.study-browser-grid{align-items:stretch;display:grid;gap:16px;grid-template-columns:minmax(280px,.36fr) minmax(0,1fr);height:360px;min-height:0}.topic-list-card,.structure-browser{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.topic-list{flex:1;margin-right:-8px;max-height:none;min-height:0;overflow-y:auto;padding-right:8px;scrollbar-color:#bcd6ff transparent;scrollbar-width:thin}.topic-row{gap:12px;grid-template-columns:16px minmax(0,1fr) 20px;min-height:58px}.topic-row strong{font-size:16px;line-height:1.35;overflow:visible;text-overflow:initial;white-space:normal}.aspect-browser{flex:1;max-height:none;min-height:0;overflow:auto}.topic-flow-shell{background:radial-gradient(circle at 24% 18%,rgba(22,119,255,.08),transparent 24%),linear-gradient(180deg,#fbfdff,#f7fbff);border:1px solid #d7e8ff;border-radius:18px;flex:1;height:auto;min-height:0;margin-top:12px;overflow:hidden;position:relative}.importance-legend{align-items:center;background:#fffffff0;border:1px solid #d7e8ff;border-radius:13px;box-shadow:0 9px 22px #2659a61a;color:#4d648f;display:flex;gap:9px;padding:7px 10px;position:absolute;right:14px;top:14px;z-index:8}.importance-legend-title{font-size:12px;font-weight:900}.importance-legend-item{align-items:center;display:flex;font-size:11px;font-weight:850;gap:4px}.importance-legend .importance-ribbon{flex-basis:20px;font-size:10px;height:24px;padding-bottom:2px;width:20px}.topic-flow-shell.expanded{border-radius:0;border-width:0;height:100dvh;inset:0;margin:0;position:fixed;z-index:80}.flow-node{align-items:stretch;background:#fff;border:1px solid #cfe2ff;border-radius:13px;box-shadow:0 10px 22px #2659a617;color:#071653;display:flex;font-size:15px;font-weight:900;justify-content:flex-start;line-height:1.28;min-height:42px;min-width:150px;padding:12px 14px;text-align:left}.flow-node-content{display:block;min-width:0;width:100%}.flow-node-content.has-toggle{padding-bottom:0}.flow-node-content.has-recall{padding-bottom:0;padding-left:46px}.flow-node-label{display:block;min-width:0;overflow-wrap:anywhere;padding-right:29px;white-space:normal}.topic-flow-shell .flow-node .importance-ribbon{position:absolute;right:-7px;top:-5px;z-index:2}.topic-flow-shell .react-flow__node.flow-node{border:1px solid #cfe2ff;box-shadow:0 10px 22px #2659a617}.flow-root{background:linear-gradient(180deg,#2588ff,#0968ed);border:0;color:#fff;font-size:18px;min-height:56px;min-width:180px;padding:12px 16px;text-align:center}.flow-root .flow-node-content{align-items:center;display:flex;justify-content:center}.flow-root .flow-node-label{padding-right:0}.topic-flow-shell .react-flow__node.flow-root{border:0;box-shadow:0 14px 28px #1677ff38}.topic-flow-shell .react-flow__handle{opacity:0;pointer-events:none}.flow-aspect{background:#edf7ff;border-color:#94c5ff;min-height:52px;min-width:150px;max-width:150px}.flow-aspect .flow-node-content{display:block}.flow-aspect .flow-node-content.has-recall{padding-left:0;padding-right:0}.flow-aspect .flow-node-label{align-items:center;display:flex;justify-content:center;inset:0;padding:0 8px;pointer-events:none;position:absolute;width:auto}.flow-aspect .flow-node-content.has-recall .flow-node-label{left:42px}.flow-aspect .flow-node-label,.flow-child .flow-node-label{text-align:center}.flow-child{background:#fff}.topic-flow-shell .react-flow__node.flow-expandable{cursor:pointer;min-height:68px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.topic-flow-shell .react-flow__node.flow-expandable:hover{border-color:#65a8ff;box-shadow:0 12px 26px #1677ff2b;transform:translateY(-1px)}.topic-flow-shell .react-flow__node.flow-units-expanded{border-color:#38b979;box-shadow:0 11px 24px #1ba56526}.flow-recall-button{align-items:center;background:#f4f9ff;border:0;border-right:1px solid #a9cdf8;border-radius:12px 0 0 12px;bottom:0;color:#176bd6;cursor:pointer;display:inline-flex;flex-direction:row;font-size:16px;font-weight:900;gap:3px;height:auto;justify-content:center;left:0;padding:8px 3px;position:absolute;top:0;width:42px;transition:background .16s ease,border-color .16s ease,transform .16s ease}.flow-recall-button:hover{background:#e2f0ff;border-color:#78aef0;color:#0f58b5;transform:translate(1px)}.flow-expandable .flow-recall-button{right:auto}.flow-recall-label{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:1px;line-height:1}.flow-recall-button svg{flex:0 0 auto}.flow-unit{background:#f3fff8;border-color:#b9ebd0;font-size:13px;font-weight:850;line-height:1.5;max-width:224px;min-height:64px;min-width:224px;padding:14px 13px}.flow-unit .flow-node-label{padding-right:28px;padding-top:4px}.topic-flow-shell .react-flow__node.flow-unit{cursor:pointer}.flow-importance-editor{background:#fffffffa;border:1px solid #cfe0f5;border-radius:12px;box-shadow:0 14px 30px #1e4b8733;display:grid;gap:6px;left:calc(100% + 10px);padding:8px;position:absolute;top:50%;transform:translateY(-50%);width:144px;z-index:40}.flow-importance-option{border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:12px;font-weight:900;height:30px;padding:0 9px;width:100%}.flow-importance-option:disabled{cursor:wait;opacity:.58}.importance-option-master{background:#e7f8ef;color:#128653}.importance-option-familiar{background:#e9f3ff;color:#176bd6}.importance-option-understand{background:#fff6d9;color:#a66b00}.importance-option-review{align-items:center;background:#f4edff;color:#7434d8;display:flex;gap:5px;justify-content:center}.flow-importance-option:hover,.flow-importance-option.active{border-color:currentColor}.flow-importance-error{background:#fff0f0;border:1px solid #f2bcbc;border-radius:9px;bottom:14px;color:#c93434;font-size:12px;font-weight:800;left:50%;padding:7px 12px;position:absolute;transform:translate(-50%);z-index:50}.topic-flow-shell .react-flow__minimap{border:1px solid #d7e8ff;border-radius:12px;overflow:hidden}.topic-flow-shell .react-flow__controls{border:1px solid #d7e8ff;border-radius:12px;bottom:150px!important;left:14px;box-shadow:0 10px 22px #2659a614;overflow:hidden}.flow-expand-button,.flow-exit-button{align-items:center;background:#fff;border:1px solid #cfe2ff;box-shadow:0 10px 22px #2659a61f;color:#1677ff;display:flex;font-weight:950;justify-content:center;position:absolute;z-index:7}.flow-expand-button{border-radius:10px;bottom:104px;height:34px;left:14px;width:34px}.topic-flow-shell.expanded .flow-exit-button{position:fixed}.flow-exit-button{border-radius:14px;gap:6px;height:42px;left:18px;padding:0 14px;top:18px}.profile-hero-card{min-height:0;padding:16px 22px}.profile-avatar{border-radius:18px;font-size:26px;height:58px;width:58px}.profile-hero-card h1{font-size:26px;margin:4px 0}.profile-stat-grid{display:grid;gap:10px;grid-column:auto;grid-template-columns:repeat(4,minmax(0,1fr))}.profile-stat-grid article{min-height:0;padding:14px 16px}.profile-stat-grid strong{font-size:26px}.profile-card{min-height:0}@media(max-width:1100px){.screen-body{padding:0 20px 20px}.home-page,.profile-page{grid-template-columns:minmax(0,1fr)}.study-browser-grid{grid-template-columns:minmax(240px,.36fr) minmax(0,1fr)}.study-summary-card{grid-template-columns:minmax(0,1fr)}.current-task-card{grid-template-columns:minmax(0,1fr) 180px 190px;min-height:196px}.current-task-art:before{height:126px;width:184px}.current-task-art svg:first-of-type{height:84px;width:84px}.current-task-art svg:last-child{height:42px;right:26px;width:42px}.current-task-actions,.summary-actions{justify-content:start;max-width:none}.current-task-actions{grid-template-columns:repeat(2,minmax(0,180px))}.home-page .subjects-panel{grid-template-columns:minmax(0,1fr)}.profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.current-task-card{grid-template-columns:minmax(0,1fr) 190px}.current-task-art{display:none}}@media(max-height:520px)and (orientation:landscape){.app-frame{grid-template-rows:58px minmax(0,1fr) 68px}.app-header{padding:8px 20px 4px}.brand strong{font-size:24px}.recall-header-title strong{font-size:20px}.recall-header-title span{display:none}.brand-logo{height:38px;width:48px}.avatar-button{height:40px;width:40px}.bottom-nav{border-radius:16px;margin:0 18px 8px;padding:5px 16px}.bottom-nav button{font-size:14px;min-width:92px;padding:3px 8px}.bottom-nav button svg{height:22px;width:22px}.current-task-card,.study-summary-card,.hero-card,.progress-card,.subjects-panel,.topic-list-card,.structure-browser,.profile-hero-card,.profile-card,.profile-stat-grid article{border-radius:16px}.current-task-card,.study-summary-card{min-height:136px;padding:18px 20px}.current-task-card{grid-template-columns:minmax(0,1fr) 174px}.current-task-copy h1{font-size:26px}.current-task-copy p,.study-summary-card p{font-size:14px}}.app-frame{flex:0 0 1366px;grid-template-rows:74px minmax(0,1fr) 84px;height:768px;max-height:none;max-width:none;width:1366px}.app-header{padding:16px 42px 8px}.screen-body{padding:0 28px 10px}.bottom-nav{border-radius:22px;margin:0 36px 14px;padding:8px 22px}.bottom-nav button{font-size:17px;min-width:160px;padding:6px 12px}.bottom-nav button svg{height:24px;width:24px}.brand strong{font-size:31px}.brand-logo{height:46px;width:58px}.home-page{grid-template-columns:minmax(0,1fr) minmax(0,.92fr) minmax(0,1fr)}.profile-page{grid-template-columns:minmax(0,1fr)}.study-browser-grid{grid-template-columns:minmax(280px,.36fr) minmax(0,1fr)}.scroll-page{min-height:0}.home-page,.subject-select-page,.discipline-page,.study-page,.profile-page{height:100%;min-height:0}.home-page{grid-template-rows:218px minmax(0,1fr)}.home-hero-card{min-height:0;padding:18px 24px}.home-hero-card{grid-template-columns:minmax(0,.96fr) minmax(390px,1.04fr)}.current-task-copy h1{font-size:clamp(30px,3.1vw,41px);margin:8px 0 6px}.current-task-copy p{font-size:16px;line-height:1.35}.task-meta-row{margin-top:10px}.task-meta-row em{padding:6px 11px}.home-hero-logo{max-height:230px;max-width:520px;width:min(100%,520px)}.home-progress-card{gap:10px;align-content:start;align-items:start;grid-template-columns:112px minmax(0,1fr);min-height:0;padding:14px 18px 12px}.home-progress-card h2,.home-memory-card h2,.home-page .subjects-panel h2,.continue-panel h2{font-size:22px}.home-progress-card .progress-ring{height:112px;width:112px}.home-progress-card .progress-ring:before{height:82px;width:82px}.home-progress-card .progress-ring strong{font-size:26px}.home-progress-card .progress-ring span{font-size:12px}.home-progress-grid,.memory-step-list{gap:7px}.home-progress-grid{align-self:start}.home-progress-grid .stat-line,.discipline-progress-lines .stat-line{align-items:center;min-height:0;padding:4px 0 8px}.home-progress-grid .stat-icon,.discipline-progress-lines .stat-icon{border-radius:11px;height:32px;width:32px}.home-progress-grid .stat-line p,.discipline-progress-lines .stat-line p{font-size:15px;line-height:1.2}.home-progress-grid .stat-line strong{font-size:17px}.home-page .subjects-panel,.home-memory-card,.continue-panel{min-height:0;overflow:hidden;padding:15px 18px}.continue-panel{display:flex;flex-direction:column}.memory-step-list div{gap:10px;min-height:58px;padding:8px 10px}.memory-step-list span{font-size:15px}.memory-step-list em{font-size:12px}.continue-panel h3{font-size:21px;margin-top:10px}.continue-panel .primary-button{min-height:44px;margin-top:auto}.subject-grid{gap:8px}.subject-card{gap:8px;grid-template-columns:34px minmax(0,1fr) 16px;min-height:38px;padding:7px 9px}.subject-card strong{font-size:15px}.subject-card span{font-size:12px}.discipline-page{grid-template-rows:218px minmax(0,1fr)}.discipline-top-grid,.topic-top-grid{gap:14px}.discipline-hero,.topic-hero-card,.discipline-progress-card,.topic-status-card{min-height:0;overflow:hidden}.discipline-hero{grid-template-columns:minmax(0,1fr) 230px;padding:18px 24px}.topic-hero-card{grid-template-columns:minmax(0,1fr);padding:18px 24px}.discipline-hero-art,.topic-hero-art{max-height:158px}.hero-copy h1,.topic-hero-copy h1{font-size:clamp(28px,2.75vw,38px);margin:8px 0}.hero-copy p,.topic-hero-copy p{font-size:15px;line-height:1.35}.hero-metrics{gap:10px;margin-top:10px}.hero-buttons{margin-top:12px}.discipline-progress-card,.topic-status-card{align-content:start;align-items:start;gap:10px;grid-template-columns:112px minmax(0,1fr);padding:14px 18px 12px}.discipline-progress-card h2,.topic-status-card h2{font-size:22px}.discipline-progress-card .progress-ring,.topic-status-card .progress-ring{height:112px;width:112px}.discipline-progress-card .progress-ring:before,.topic-status-card .progress-ring:before{height:82px;width:82px}.discipline-progress-card .progress-ring strong,.topic-status-card .progress-ring strong{font-size:26px}.discipline-progress-card .progress-ring span,.topic-status-card .progress-ring span{font-size:12px}.discipline-progress-lines{align-self:start;gap:7px;min-width:0}.discipline-progress-lines .stat-line{grid-template-columns:34px minmax(0,1fr) minmax(0,auto)}.discipline-progress-lines .stat-line strong{font-size:17px;max-width:112px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-strip-card,.discipline-chapter-card{min-height:0;overflow:hidden;padding:15px 18px}.module-strip-card{display:flex;flex-direction:column}.module-strip{cursor:grab;gap:10px;flex:1;margin-top:10px;min-height:0;overscroll-behavior-inline:contain;padding:2px 2px 10px;scroll-behavior:smooth;touch-action:pan-x;-webkit-user-select:none;user-select:none}.module-strip.dragging{cursor:grabbing;scroll-behavior:auto}.module-card{flex-basis:286px;min-height:0;padding:15px}.module-card h3{font-size:18px;margin:8px 0 6px}.module-card p{font-size:13px;line-height:1.35}.module-icon{height:34px;margin-bottom:8px;width:34px}.study-page{grid-template-rows:214px minmax(0,1fr)}.study-browser-grid{height:auto}.study-summary-card{min-height:0;padding:18px 22px}.study-summary-card h1{font-size:clamp(26px,2.4vw,34px);margin:6px 0}.profile-page{grid-template-rows:104px 90px minmax(0,1fr)}.profile-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-hero-card{gap:18px;padding:14px 20px}.profile-avatar{border-radius:16px;font-size:24px;height:54px;width:54px}.profile-hero-card h1{font-size:24px;margin:2px 0}.profile-hero-card p{font-size:15px;line-height:1.35}.profile-stat-grid article,.profile-card{min-height:0;padding:14px 16px}.profile-stat-grid article strong{font-size:26px}.recall-layout{height:100%;min-height:0;grid-template-rows:minmax(0,1fr)}.recall-layout>.recall-tree-card,.recall-layout>.recall-task-card{height:100%;min-height:0}.recall-tree-card{display:flex;flex-direction:column;overflow:hidden}.recall-tree-card>.focus-tree,.recall-tree-card>.recall-tree{flex:1 1 auto;min-height:0;overflow:hidden}.recall-tree-card>.focus-tree{margin-top:14px}.focus-pruned-tree{min-height:0;overflow:hidden}.recall-tree-card>.recall-tree .recall-tree-stage{max-height:100%;overflow:hidden}.recall-tree-footer{flex:0 0 auto}.recall-task-card{height:100%;min-height:0;overflow:hidden}.chapter-group-card{flex-basis:250px;min-height:126px;padding:14px 16px}.chapter-group-card h3{font-size:19px;line-height:1.3;margin:8px 32px 0 0;overflow:visible;white-space:normal}.chapter-group-page{grid-template-rows:128px minmax(0,1fr);height:100%;min-height:0}.chapter-group-heading,.chapter-list-panel,.chapter-group-empty{background:#fff;border:1px solid #cfe2ff;border-radius:18px;box-shadow:0 14px 36px #23559e14}.chapter-group-heading{align-content:center;display:grid;padding:18px 26px}.chapter-group-heading>span{color:#1677ff;font-size:14px;font-weight:900}.chapter-group-heading h1{color:#06145c;font-size:30px;margin:5px 0}.chapter-group-heading p{color:#536b9b;font-size:15px;margin:0}.chapter-list-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:18px 20px}.chapter-card-grid{display:grid;flex:1 1 auto;gap:12px;grid-auto-rows:minmax(78px,1fr);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px;min-height:0;overflow-y:auto;padding:2px}.chapter-card-grid::-webkit-scrollbar{height:8px;width:8px}.chapter-card-grid::-webkit-scrollbar-thumb{background:#b7d2f5;border-radius:8px}.chapter-entry-card{align-items:center;background:#fbfdff;border:1px solid #d7e8ff;border-radius:8px;color:#1677ff;display:grid;gap:12px;grid-template-columns:42px minmax(0,1fr) 24px;min-height:82px;padding:14px 16px;text-align:left}.chapter-entry-card:hover:not(:disabled){background:#f1f7ff;border-color:#8ebfff}.chapter-entry-card>span{align-items:center;background:#eaf4ff;border-radius:8px;display:flex;font-weight:950;height:38px;justify-content:center;width:38px}.chapter-entry-card strong{color:#10275c;font-size:16px;line-height:1.35;white-space:normal}.chapter-entry-card:disabled{cursor:not-allowed;opacity:.55}.chapter-group-empty{align-content:center;color:#536b9b;display:grid;justify-items:center;min-height:320px;padding:36px;text-align:center}.chapter-group-empty h1{color:#071653;margin:12px 0 6px}.chapter-group-empty p{margin:0}.chapter-complete-page{align-items:center;display:flex;justify-content:center}.chapter-complete-panel{align-items:center;background:#fff;border:1px solid #b9e8d0;border-radius:18px;box-shadow:0 22px 54px #2ac66d1f;color:#071653;display:flex;flex-direction:column;gap:14px;max-width:720px;padding:46px;text-align:center}.chapter-complete-panel svg{color:#2ac66d}.chapter-complete-panel span{background:#edfff5;border-radius:999px;color:#0a7a43;font-weight:950;padding:8px 14px}.chapter-complete-panel h1{font-size:34px;margin:0}.chapter-complete-panel p{color:#536b9b;font-size:17px;line-height:1.5;margin:0}.chapter-complete-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:12px}.recall-tree-card>.recall-tree.flashcard-tree-scroll{overflow-x:hidden;overflow-y:auto;padding:0 8px 16px 0;scrollbar-gutter:stable}.recall-tree-card>.recall-tree.flashcard-tree-scroll .recall-tree-stage{max-height:none;overflow:visible}.structured-flashcard-task{position:relative}.structured-flashcard-body{padding-bottom:104px;scrollbar-gutter:stable}.structured-block-question{position:sticky;top:0;z-index:4}.structured-flashcard-cover{align-content:center;background:#f8fbff;border:2px dashed #9fc6fa;border-radius:16px;color:#1677ff;display:grid;gap:14px;justify-items:center;margin-top:14px;min-height:330px;padding:30px;width:100%}.structured-flashcard-cover strong{font-size:20px}.structured-flashcard-cover:hover{background:#eef6ff;border-color:#1677ff}.structured-answer-card{background:#fff;border:1px solid #cfe2ff;border-radius:14px;display:grid;gap:8px;margin-top:12px;padding:12px 14px}.structured-answer-node{min-width:0;position:relative}.structured-answer-node+.structured-answer-node{border-top:1px solid #e4edf9;padding-top:8px}.structured-answer-heading{align-items:center;color:#10265c;display:grid;gap:8px;grid-template-columns:24px minmax(0,1fr);min-height:28px}.structured-answer-heading>span{align-items:center;background:#1677ff;border-radius:7px;color:#fff;display:flex;font-size:13px;font-weight:950;height:22px;justify-content:center;width:22px}.structured-answer-node:not(.depth-0)>.structured-answer-heading>span{background:#75aef8;border-radius:999px;height:8px;margin-left:7px;width:8px}.structured-answer-heading strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere}.structured-answer-units{display:grid;gap:5px;margin:4px 0 6px 32px}.structured-answer-units p{background:#f7faff;border-left:3px solid #bdd8fb;color:#1e315d;font-size:14px;line-height:1.45;margin:0;padding:7px 9px}.structured-answer-children{border-left:2px solid #d5e4f7;display:grid;gap:6px;margin:4px 0 4px 11px;padding-left:14px}.structured-answer-children>.structured-answer-node:before{background:#d5e4f7;content:"";height:2px;left:-14px;position:absolute;top:14px;width:13px}.structured-answer-node.depth-2 .structured-answer-heading strong,.structured-answer-node.depth-3 .structured-answer-heading strong{font-size:14px}.recall-action-footer.floating-recall-actions{background:#fffffff5;border:1px solid #d5e5f8;border-radius:14px;bottom:16px;box-shadow:0 10px 26px #18468a24;left:20px;margin:0;min-height:68px;padding:9px 12px;position:absolute;right:20px;z-index:6}.recall-action-footer.floating-recall-actions .primary-button,.recall-action-footer.floating-recall-actions .secondary-button{height:46px}.recall-tree-card>.compact-tree-scroll-region{flex:1 1 auto;min-height:0}.compact-tree-scroll-region{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:2px 8px 14px 0;pointer-events:auto;scrollbar-gutter:stable;touch-action:pan-y}.compact-tree-scroll-region::-webkit-scrollbar{width:8px}.compact-tree-scroll-region::-webkit-scrollbar-thumb{background:#bfd6f3;border-radius:8px}.compact-tree-scroll-region::-webkit-scrollbar-track{background:transparent}.compact-knowledge-tree{align-content:start;grid-auto-rows:max-content;margin-top:0;min-width:0;width:100%}.compact-knowledge-tree .focus-root{height:50px}.compact-knowledge-tree .focus-node{height:46px}.recall-tree-card>.activity-focus-tree-shell{flex:1 1 auto;margin-top:14px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:2px 7px 14px 0;scrollbar-gutter:stable;touch-action:pan-y}.activity-focus-tree-shell{align-content:start;display:grid;gap:8px;grid-auto-rows:max-content;min-height:0}.activity-focus-tree-shell .compact-knowledge-tree{margin-top:0}.activity-focus-tree-shell::-webkit-scrollbar{width:8px}.activity-focus-tree-shell::-webkit-scrollbar-thumb{background:#bfd6f3;border-radius:8px}.activity-focus-tree-shell::-webkit-scrollbar-track{background:transparent}.recall-navigation-tree{display:grid;gap:10px;min-width:0;width:100%}.recall-navigation-roots,.recall-navigation-children{display:grid;gap:7px;min-width:0}.recall-navigation-children{border-left:2px solid #d6e8ff;margin-left:12px;padding-left:10px}.recall-navigation-branch{display:grid;gap:7px;min-width:0}.recall-navigation-node{align-items:center;background:#fff;border:1px solid #d7e8ff;border-radius:11px;display:grid;gap:5px;grid-template-columns:25px minmax(0,1fr) 24px;min-height:48px;min-width:0;padding:6px 7px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.recall-navigation-node.clickable:hover{background:#f5f9ff;border-color:#8bbcff}.recall-navigation-node.active{background:#edf5ff;border-color:#1677ff;box-shadow:0 6px 16px #1677ff21}.recall-navigation-node.disabled{opacity:.68}.recall-tree-toggle{align-items:center;background:#eaf4ff;border:1px solid #c5ddfb;border-radius:7px;color:#176bd6;cursor:pointer;display:inline-flex;height:25px;justify-content:center;padding:0;width:25px}.recall-tree-toggle svg{transition:transform .15s ease}.recall-tree-toggle.expanded svg{transform:rotate(90deg)}.recall-tree-leaf-dot{background:#8abfff;border:5px solid #eaf4ff;border-radius:999px;height:16px;justify-self:center;width:16px}.recall-tree-target{background:transparent;border:0;color:#071653;cursor:pointer;display:grid;gap:2px;min-width:0;padding:2px 4px;text-align:left;width:100%}.recall-tree-target:disabled{cursor:default}.recall-tree-target strong{font-size:13px;line-height:1.35;overflow-wrap:anywhere}.recall-tree-target span{color:#6a7fa7;font-size:10px;font-weight:800}.recall-navigation-node.active .recall-tree-target span{color:#176bd6}.recall-navigation-node>.importance-ribbon{height:27px;width:22px}.structured-compact-tree .focus-root{box-sizing:border-box;height:50px;min-height:50px;width:100%}.structured-compact-tree .focus-pruned-tree>.focus-children{margin-left:2px}.structured-compact-tree .focus-children{margin-left:5px;padding-left:10px}.structured-compact-tree .focus-branch{min-width:0}.structured-compact-tree .focus-node{box-sizing:border-box;height:46px;min-height:46px;min-width:0;width:100%}.structured-compact-tree .focus-node em{white-space:nowrap}.structured-compact-tree .focus-node.hidden{background:#f8fbff;border-style:dashed;color:#7386a8}.structured-compact-tree .focus-node.revealed{background:#f4f9ff;border-color:#9fc7f8;color:#17376e}.structured-compact-tree .focus-node.mastered{background:#f0faf4;border-color:#8fd0a5;color:#175b34}.structured-compact-tree .focus-node.mastered>span{background:#dcf4e4;color:#198754}.structured-compact-tree .focus-node.sync-active{border-color:#1677ff;box-shadow:0 0 0 2px #1677ff29}.structured-answer-node.sync-active>.structured-answer-heading{background:#eef6ff;border-radius:8px;box-shadow:inset 3px 0 #1677ff;padding:3px 6px}@media(max-width:600px)and (orientation:portrait){html,body,#root{height:100%;min-height:100%;width:100%}body{background:#eef6ff;overflow:hidden}button,select{min-height:44px}.stage{align-items:stretch;display:block;height:100vh;height:100dvh;min-height:0;overflow:hidden;width:100%}.app-frame{border:0;border-radius:0;box-shadow:none;display:grid;flex:none;grid-template-rows:auto minmax(0,1fr) auto;height:100vh;height:100dvh;max-height:100dvh;max-width:none;min-height:0;min-width:0;overflow:hidden;transform:none;width:100%}.app-header{min-height:58px;padding:calc(7px + env(safe-area-inset-top)) 14px 7px}.brand{gap:8px}.brand-logo{height:36px;width:44px}.brand strong{font-size:23px}.header-brand-zone,.header-actions{gap:8px}.header-icon-back,.icon-button,.avatar-button{height:44px;min-height:44px;min-width:44px;width:44px}.icon-button svg{height:22px;width:22px}.avatar-button svg{height:29px;width:29px}.screen-body{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;padding:0 12px 14px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.scroll-page{gap:12px;height:auto;margin:0;max-width:none;min-height:100%;padding:0;width:100%}.bottom-nav{border-bottom:0;border-radius:18px 18px 0 0;gap:0;margin:0 8px;min-height:62px;padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.bottom-nav button{font-size:12px;gap:2px;min-height:48px;min-width:0;padding:3px 4px;width:33.333%}.bottom-nav button svg{height:22px;width:22px}.bottom-nav button.active:after{bottom:-4px;height:3px;width:42px}.primary-button,.secondary-button{border-radius:13px;min-height:48px;padding:10px 14px}.section-title-row{align-items:flex-start;gap:8px}.section-title-row>span{flex:0 0 auto}.home-hero-card,.home-progress-card,.continue-panel,.subject-select-hero,.subject-choice-card,.discipline-hero,.discipline-progress-card,.module-strip-card,.topic-hero-card,.topic-status-card,.topic-list-card,.structure-browser,.recall-tree-card,.recall-task-card,.chapter-group-heading,.chapter-list-panel,.chapter-group-empty,.chapter-complete-panel,.profile-hero-card,.profile-stat-grid article,.profile-card{border-radius:17px;box-shadow:0 10px 28px #23559e14}.home-page{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;height:auto}.home-hero-card{grid-column:1;grid-row:auto;grid-template-columns:minmax(0,1fr) 96px;min-height:158px;order:1;padding:18px 16px}.current-task-copy{position:relative;z-index:2}.current-task-copy span{font-size:14px}.current-task-copy h1{font-size:27px;line-height:1.12;margin:8px 0}.current-task-copy p{font-size:14px;line-height:1.45}.home-hero-logo{align-self:end;max-height:110px;max-width:118px;opacity:.94;width:118px}.continue-panel{gap:8px;min-height:214px;order:2;overflow:visible;padding:16px}.continue-panel h2,.home-progress-card h2{font-size:20px}.continue-panel h3{font-size:20px;margin-top:4px;overflow:visible;text-overflow:initial;white-space:normal}.continue-panel p{overflow-wrap:anywhere}.continue-panel .primary-button{margin-top:auto;min-height:50px;width:100%}.home-progress-card{align-content:start;align-items:center;gap:12px;grid-column:1;grid-row:auto;grid-template-columns:104px minmax(0,1fr);min-height:205px;order:3;padding:16px}.home-progress-card h2{grid-column:1 / -1}.home-progress-card .progress-ring{height:104px;width:104px}.home-progress-card .progress-ring:before{height:76px;width:76px}.home-progress-card .progress-ring strong{font-size:23px}.home-progress-grid,.discipline-progress-lines{gap:5px}.home-progress-grid .stat-line,.discipline-progress-lines .stat-line{gap:6px;grid-template-columns:30px minmax(0,1fr) auto;padding:4px 0}.home-progress-grid .stat-icon,.discipline-progress-lines .stat-icon{border-radius:9px;height:30px;width:30px}.home-progress-grid .stat-line p,.discipline-progress-lines .stat-line p{font-size:13px}.home-progress-grid .stat-line strong,.discipline-progress-lines .stat-line strong{font-size:14px}.home-memory-card,.home-page .subjects-panel{display:none}.subject-select-page{display:grid;grid-template-columns:minmax(0,1fr);height:auto}.subject-select-hero{min-height:120px;padding:16px}.subject-select-hero h1{font-size:26px;line-height:1.16;margin:6px 0 8px}.subject-select-hero p{font-size:14px;line-height:1.45}.subject-select-grid{gap:12px;grid-template-columns:minmax(0,1fr)}.subject-choice-card{gap:10px;grid-template-columns:48px minmax(0,1fr) 72px 22px;min-height:122px;padding:14px}.subject-choice-icon{border-radius:13px;height:46px;width:46px}.subject-choice-card h2{font-size:19px;margin-bottom:4px}.subject-choice-card p,.subject-choice-card em{font-size:13px;line-height:1.35;white-space:normal}.subject-choice-card em{margin-top:5px}.subject-choice-art{max-height:82px;width:72px}.discipline-page{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;height:auto}.discipline-top-grid,.topic-top-grid{gap:12px;grid-template-columns:minmax(0,1fr)}.discipline-hero{display:block;min-height:190px;padding:18px 16px;position:relative}.discipline-hero .hero-copy{max-width:calc(100% - 82px)}.discipline-hero h1,.topic-hero-card h1{font-size:28px;margin:6px 0 8px}.discipline-hero p,.topic-hero-card p{font-size:14px}.discipline-hero-art{bottom:14px;max-height:92px;opacity:.88;position:absolute;right:10px;width:92px}.discipline-hero .hero-buttons{margin-top:14px}.discipline-hero .primary-button{min-width:min(100%,230px)}.discipline-progress-card,.topic-status-card{align-items:center;gap:10px;grid-template-columns:102px minmax(0,1fr);min-height:182px;padding:15px}.discipline-progress-card h2,.topic-status-card h2{font-size:20px;grid-column:1 / -1}.discipline-progress-card .progress-ring,.topic-status-card .progress-ring{height:100px;width:100px}.discipline-progress-card .progress-ring:before,.topic-status-card .progress-ring:before{height:74px;width:74px}.discipline-progress-card .progress-ring strong,.topic-status-card .progress-ring strong{font-size:22px}.module-strip-card{min-height:220px;overflow:hidden;padding:15px}.module-strip{flex:none;gap:10px;margin:10px -2px 0;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x mandatory;touch-action:pan-x}.module-card,.chapter-group-card{flex:0 0 80%;min-height:144px;scroll-snap-align:start}.chapter-group-page{grid-template-rows:auto auto;height:auto}.chapter-group-heading{min-height:116px;padding:16px}.chapter-group-heading h1{font-size:25px;margin:5px 0}.chapter-group-heading p{font-size:14px}.chapter-list-panel{overflow:visible;padding:15px}.chapter-card-grid{gap:10px;grid-auto-rows:auto;grid-template-columns:minmax(0,1fr);margin-top:12px;overflow:visible;padding:0}.chapter-entry-card{border-radius:13px;grid-template-columns:42px minmax(0,1fr) 22px;min-height:66px;padding:11px 12px}.study-page{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;height:auto}.topic-hero-card{display:block;min-height:170px;padding:17px 16px}.topic-breadcrumb{font-size:13px;overflow-wrap:anywhere}.topic-hero-copy h1{overflow-wrap:anywhere}.topic-hero-card .hero-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.study-browser-grid{gap:12px;grid-template-columns:minmax(0,1fr);height:auto;min-height:0}.topic-list-card,.structure-browser{height:auto;min-height:0;padding:15px}.topic-list-card{overflow:hidden}.topic-list-card .section-title-row>span{font-size:12px}.topic-list{display:flex;flex:none;gap:9px;height:auto;margin:10px -2px 0;max-height:none;overflow-x:auto;overflow-y:hidden;padding:2px 2px 10px;scroll-snap-type:x mandatory;touch-action:pan-x}.topic-row{flex:0 0 min(250px,76vw);grid-template-columns:14px minmax(0,1fr) 20px;min-height:58px;scroll-snap-align:start}.topic-row strong{overflow:visible;text-overflow:initial;white-space:normal}.structure-browser{min-height:500px}.structure-browser .section-title-row{align-items:flex-start;flex-direction:column}.map-toolbar{align-items:center;display:flex;justify-content:space-between;width:100%}.map-toolbar>span{font-size:12px}.map-toolbar .secondary-button{min-height:44px}.aspect-browser,.topic-flow-shell{flex:none;height:430px;margin-top:12px;min-height:430px;touch-action:none}.topic-flow-shell.expanded{border-radius:0;height:100dvh;inset:0;max-height:none;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);padding-top:env(safe-area-inset-top)}.flow-expand-button,.flow-exit-button{min-height:44px;min-width:44px}.recall-header{align-items:center;display:grid;gap:7px 10px;grid-template-areas:"back title" "switch switch";grid-template-columns:auto minmax(0,1fr);padding:calc(6px + env(safe-area-inset-top)) 12px 8px}.recall-header .header-back-button{grid-area:back;min-height:44px;min-width:62px}.recall-header-title{grid-area:title;min-width:0;text-align:left}.recall-header-title span,.recall-header .compact-brand{display:none}.recall-header-title strong{font-size:21px}.recall-mode-switch{display:grid;grid-area:switch;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.recall-mode-switch button{min-height:42px;min-width:0;padding:8px 10px}.recall-layout,.single-recall-layout,.structured-flashcard-layout{gap:12px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;height:auto;min-height:0;padding-bottom:2px}.recall-layout>.recall-tree-card,.recall-layout>.recall-task-card{height:auto;min-height:0}.recall-tree-card{height:clamp(220px,30dvh,280px)!important;min-height:220px!important;padding:14px}.recall-tree-card h2,.recall-task-card h2{font-size:19px}.recall-tree-card .section-title-row>span{font-size:12px;max-width:52%;text-align:right}.recall-tree-card>.activity-focus-tree-shell{margin-top:8px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.compact-tree-scroll-region{padding-right:2px}.compact-knowledge-tree .focus-root,.structured-compact-tree .focus-root{height:44px;min-height:44px}.compact-knowledge-tree .focus-node,.structured-compact-tree .focus-node{height:auto;min-height:42px;padding-bottom:6px;padding-top:6px}.compact-knowledge-tree .focus-node strong,.structured-compact-tree .focus-node strong{overflow-wrap:anywhere;white-space:normal}.recall-tree-footer{gap:6px;margin-top:6px}.recall-tree-footer>span{font-size:12px}.recall-tree-footer .secondary-button{min-height:40px;padding:7px 10px}.recall-task-card{min-height:500px!important;overflow:visible;padding:15px}.recall-task-card .section-title-row{align-items:stretch;flex-direction:column}.recall-task-card select{max-width:none;min-height:46px;width:100%}.recall-task-body{flex:none;min-height:260px;overflow:visible;padding:0 0 12px}.question-box,.answer-box{font-size:16px;line-height:1.55;overflow-wrap:anywhere;padding:13px}.candidate-grid{grid-template-columns:minmax(0,1fr)}.candidate-grid button{min-height:58px;overflow-wrap:anywhere;text-align:left}.recall-action-footer,.recall-action-footer.floating-recall-actions{background:#fffffff7;border:1px solid #d5e5f8;border-radius:14px;bottom:0;box-shadow:0 -8px 22px #18468a17;display:grid;flex:none;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));left:auto;margin:10px 0 0;min-height:66px;padding:8px;position:sticky;right:auto;z-index:7}.recall-action-footer .primary-button,.recall-action-footer .secondary-button,.recall-action-footer.floating-recall-actions .primary-button,.recall-action-footer.floating-recall-actions .secondary-button{height:auto;min-height:48px;min-width:0;padding:8px 10px}.structured-flashcard-task{position:static}.structured-flashcard-body{min-height:340px;padding-bottom:12px}.structured-block-question{position:sticky;top:0}.structured-flashcard-cover{min-height:260px;padding:22px}.structured-answer-card{padding:10px}.structured-answer-units{margin-left:24px}.structured-answer-children{margin-left:8px;padding-left:10px}.done-panel{min-height:280px}.chapter-complete-page{min-height:100%;padding:10px 0}.chapter-complete-panel{margin:auto 0;padding:26px 18px;width:100%}.chapter-complete-panel h1{font-size:27px;overflow-wrap:anywhere;text-align:center}.chapter-complete-panel p{font-size:15px}.chapter-complete-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.chapter-complete-actions button{width:100%}.profile-page{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;height:auto}.profile-hero-card{gap:14px;padding:16px}.profile-avatar{border-radius:16px;font-size:24px;height:58px;width:58px}.profile-stat-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-stat-grid article,.profile-card{padding:15px}.profile-stat-grid strong{font-size:26px}.empty-data-page,.chapter-group-empty{min-height:60dvh}.empty-state{align-content:center;flex-direction:column;gap:12px;padding:24px 16px;text-align:center}.loading-frame{height:100vh;height:100dvh;min-height:100dvh;width:100%}.loading-center{padding:env(safe-area-inset-top) 18px env(safe-area-inset-bottom);transform:translate(-50%,-48%);width:100%}.loading-logo{border-radius:28px;height:126px;width:126px}.loading-center h1{font-size:36px;letter-spacing:6px;margin:20px 0 10px;text-indent:6px}.loading-center p{font-size:16px;letter-spacing:4px;text-indent:4px}.loading-status{margin-top:40px}.loading-status strong{font-size:16px}.loading-spinner{border-width:4px;height:28px;width:28px}.loading-progress{height:10px;max-width:330px;width:calc(100vw - 56px)}}@media(max-width:370px)and (orientation:portrait){.screen-body{padding-left:10px;padding-right:10px}.home-hero-card{grid-template-columns:minmax(0,1fr) 72px}.home-hero-logo{width:96px}.home-progress-card{grid-template-columns:88px minmax(0,1fr)}.home-progress-card .progress-ring,.discipline-progress-card .progress-ring,.topic-status-card .progress-ring{height:86px;width:86px}.home-progress-card .progress-ring:before,.discipline-progress-card .progress-ring:before,.topic-status-card .progress-ring:before{height:64px;width:64px}.subject-choice-card{grid-template-columns:44px minmax(0,1fr) 58px 20px;padding:12px}.subject-choice-art{width:58px}.topic-hero-card .hero-buttons,.recall-action-footer,.recall-action-footer.floating-recall-actions{grid-template-columns:minmax(0,1fr)}.discipline-progress-card,.topic-status-card{grid-template-columns:88px minmax(0,1fr)}}.layout-preview-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff2;border:1px solid rgba(148,197,255,.95);border-radius:16px;box-shadow:0 18px 48px #12418438;color:#071653;display:grid;gap:10px;padding:12px;position:fixed;right:14px;top:14px;width:168px;z-index:10000}.layout-preview-panel.collapsed{border-radius:999px;display:block;padding:5px;width:auto}.layout-preview-panel.collapsed>button{background:#1677ff;border:0;border-radius:999px;color:#fff;font-size:13px;font-weight:950;min-height:42px;min-width:54px;padding:8px 12px}.layout-preview-heading{align-items:center;display:flex;gap:8px;justify-content:space-between}.layout-preview-heading>div{display:grid;gap:2px}.layout-preview-heading strong{font-size:15px}.layout-preview-heading span,.layout-preview-panel>p{color:#6077a2;font-size:11px}.layout-preview-heading>button{background:#edf6ff;border:1px solid #cfe2ff;border-radius:9px;color:#1677ff;font-size:20px;height:32px;min-height:32px;padding:0;width:32px}.layout-preview-options{display:grid;gap:6px}.layout-preview-options>button{align-items:center;background:#f8fbff;border:1px solid #d8e8fb;border-radius:10px;color:#183267;display:flex;justify-content:space-between;min-height:42px;padding:7px 9px;text-align:left}.layout-preview-options>button.active{background:#eaf4ff;border-color:#7fb8ff;box-shadow:inset 3px 0 #1677ff;color:#075fcf}.layout-preview-options strong{font-size:13px}.layout-preview-options span{color:#7185a8;font-size:10px;font-weight:800}.layout-preview-panel>p{line-height:1.35;margin:0}@media(max-width:700px){.layout-preview-panel{display:none}}.stage.layout-debug-stage{justify-content:flex-start;padding-right:196px}.stage.layout-debug-stage .app-frame{transform-origin:left center}@media(max-width:700px){.stage.layout-debug-stage{padding-right:0}.stage.layout-debug-stage .app-frame{transform-origin:center}}.app-frame.recall-app-frame{grid-template-rows:74px minmax(0,1fr)}@media(max-width:600px)and (orientation:portrait){.app-frame.recall-app-frame{grid-template-rows:auto minmax(0,1fr)}.recall-header{gap:8px;grid-template-areas:"back title switch";grid-template-columns:auto auto minmax(0,1fr);min-height:58px;padding:calc(6px + env(safe-area-inset-top)) 10px 6px}.recall-header .header-back-button{min-height:44px;min-width:54px;padding:8px 10px}.recall-header-title{white-space:nowrap}.recall-header-title strong{font-size:20px}.recall-mode-switch{display:inline-grid;grid-template-columns:repeat(2,auto);justify-self:end;padding:3px;width:auto}.recall-mode-switch button{font-size:12px;min-height:36px;padding:6px 9px}.recall-tree-card>.section-title-row,.recall-task-card>.section-title-row{display:none}.single-recall-layout .recall-tree-footer,.structured-flashcard-layout .recall-tree-footer,.structured-tree-layout .recall-tree-footer{display:none}.structured-tree-layout .unit-step,.structured-tree-layout .recall-task-body>h3{display:none}.recall-tree-card{height:clamp(260px,33dvh,300px)!important;min-height:260px!important;padding:10px 12px}.structured-tree-layout .recall-tree-card{height:clamp(260px,33dvh,300px)!important;min-height:260px!important}.recall-tree-card>.activity-focus-tree-shell{margin-top:0}.recall-layout,.single-recall-layout,.structured-flashcard-layout{grid-template-rows:clamp(260px,33dvh,300px) minmax(0,1fr);min-height:100%}.structured-tree-layout{grid-template-rows:clamp(260px,33dvh,300px) minmax(0,1fr)}.recall-layout>.recall-task-card{height:100%;min-height:0!important;padding:12px}.recall-task-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-top:0}.recall-action-footer,.recall-action-footer.floating-recall-actions{margin-top:auto}.recall-task-card>.recall-task-body>.question-box:first-child{margin-top:0}}@media(max-width:600px)and (orientation:portrait){.module-strip-card{min-height:0;padding:14px}.module-strip{align-items:stretch;display:grid;flex:none;gap:9px;grid-auto-columns:calc((100% - 9px)/2);grid-auto-flow:column;grid-template-rows:repeat(2,118px);margin:9px -2px 0;max-height:none;overflow-x:auto;overflow-y:hidden;padding:2px 2px 10px;scroll-snap-type:x mandatory;touch-action:pan-x}.module-card,.chapter-group-card{box-sizing:border-box;flex:none;min-height:0;padding:10px;scroll-snap-align:start;scroll-snap-stop:always;width:auto}.chapter-group-card{column-gap:7px;grid-template-columns:32px minmax(0,1fr);grid-template-rows:32px minmax(0,1fr)}.chapter-group-card .module-icon{border-radius:10px;font-size:13px;grid-row:1;height:32px;margin:0;width:32px}.chapter-group-card .module-range{font-size:11px;line-height:1.2}.chapter-group-card h3{align-self:start;display:-webkit-box;font-size:14px;grid-column:1 / -1;line-height:1.3;margin:8px 20px 0 0;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}.chapter-group-card svg{bottom:9px;height:18px;right:8px;width:18px}.topic-list-card{padding:14px}.topic-list{align-items:stretch;display:grid;flex:none;gap:9px;grid-auto-columns:calc((100% - 9px)/2);grid-auto-flow:column;grid-template-rows:repeat(2,112px);height:auto;margin:9px -2px 0;max-height:none;overflow-x:auto;overflow-y:hidden;padding:2px 2px 10px;scroll-snap-type:x mandatory;touch-action:pan-x}.topic-row{box-sizing:border-box;gap:7px;grid-template-columns:10px minmax(0,1fr) 16px;height:112px;min-height:0;padding:11px 9px;scroll-snap-align:start;scroll-snap-stop:always;width:auto}.topic-row .blue-dot{height:10px;margin-top:3px;width:10px}.topic-row strong{align-self:start;display:-webkit-box;font-size:14px;line-height:1.38;max-height:5.52em;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:4}.topic-row svg{height:17px;margin-top:1px;width:17px}}@media(max-width:600px)and (orientation:portrait){.topic-list-card{padding:12px}.topic-list-card .section-title-row>span{font-size:11px}.topic-list{gap:7px;grid-auto-columns:calc((100% - 14px) / 3);grid-template-rows:repeat(2,88px);margin-top:7px;padding-bottom:8px}.topic-row{border-radius:12px;gap:5px;grid-template-columns:8px minmax(0,1fr) 14px;height:88px;padding:9px 7px}.topic-row .blue-dot{height:8px;margin-top:3px;width:8px}.topic-row strong{font-size:13px;line-height:1.35;max-height:4.05em;-webkit-line-clamp:3}.topic-row svg{height:15px;width:15px}}@media(max-width:600px)and (orientation:portrait){.topic-row strong{align-self:center;justify-self:center;text-align:center;width:100%}.topic-row .blue-dot,.topic-row svg{align-self:center;margin-top:0}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(max-width:600px)and (orientation:portrait){.topic-flow-shell.expanded{box-sizing:border-box;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;min-height:100vh;min-height:100dvh;width:100vw;z-index:20000}.topic-flow-shell.expanded .react-flow{height:100%;min-height:100%;width:100%}.recall-tree-card,.structured-tree-layout .recall-tree-card{height:clamp(260px,33vh,300px)!important;height:clamp(260px,33dvh,300px)!important;min-height:260px!important}.recall-layout,.single-recall-layout,.structured-flashcard-layout,.structured-tree-layout{grid-template-rows:clamp(260px,33vh,300px) minmax(0,1fr);grid-template-rows:clamp(260px,33dvh,300px) minmax(0,1fr)}}.login-stage{align-items:center;background:linear-gradient(145deg,#eef7f2,#f7f4ff);display:flex;justify-content:center}.login-frame{align-items:center;display:flex;justify-content:center}.login-card{background:#fff;border:1px solid rgba(31,107,74,.14);border-radius:28px;box-shadow:0 24px 70px #24433524;box-sizing:border-box;max-width:430px;padding:42px;width:calc(100% - 40px)}.login-logo{height:58px;margin-bottom:18px;object-fit:contain;width:58px}.login-card>span{color:#2c8a60;font-size:14px;font-weight:700;letter-spacing:.08em}.login-card h1{color:#19392b;font-size:32px;margin:8px 0}.login-card>p{color:#6f7f77;margin:0 0 28px}.login-card form,.login-card label{display:grid;gap:8px}.login-card form{gap:18px}.login-card label span{color:#40584c;font-size:14px;font-weight:700}.login-card input{border:1px solid #cbd9d1;border-radius:12px;box-sizing:border-box;font:inherit;min-height:46px;padding:10px 13px;width:100%}.login-card input:focus{border-color:#2c8a60;box-shadow:0 0 0 3px #2c8a601f;outline:none}.login-error{background:#fff1f0;border-radius:10px;color:#a33a32;font-size:14px;padding:10px 12px}.login-button{align-items:center;display:flex;justify-content:center;min-height:48px}.profile-logout-button{margin-top:14px}@media(max-width:600px)and (orientation:portrait){.login-card{border-radius:22px;padding:30px 24px}}@media(max-width:600px)and (orientation:portrait){.recall-tree-card,.structured-tree-layout .recall-tree-card{height:clamp(190px,27dvh,250px)!important;min-height:190px!important}.recall-layout,.single-recall-layout,.structured-flashcard-layout,.structured-tree-layout{grid-template-rows:clamp(190px,27dvh,250px) minmax(0,1fr)}.recall-task-body{padding-bottom:calc(92px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(92px + env(safe-area-inset-bottom))}.recall-action-footer,.recall-action-footer.floating-recall-actions{bottom:0;left:max(12px,env(safe-area-inset-left));margin:0;padding-bottom:calc(8px + env(safe-area-inset-bottom));position:fixed;right:max(12px,env(safe-area-inset-right));z-index:100}.module-strip,.topic-list{touch-action:pan-x pan-y}}@media(max-width:980px)and (max-height:520px)and (orientation:landscape){.recall-task-body{padding-bottom:calc(88px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom))}.recall-action-footer,.recall-action-footer.floating-recall-actions{bottom:0;left:max(12px,env(safe-area-inset-left));margin:0;padding-bottom:calc(8px + env(safe-area-inset-bottom));position:fixed;right:max(12px,env(safe-area-inset-right));z-index:100}}@media(max-width:370px)and (orientation:portrait){.recall-action-footer,.recall-action-footer.floating-recall-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.review-marker{align-items:center;background:linear-gradient(180deg,#f1eafe,#e3d5fc);border:1px solid #c3a8f2;border-radius:7px 7px 3px 3px;color:#6d28d9;display:inline-flex;flex:0 0 auto;gap:2px;height:28px;justify-content:center;min-width:28px;padding:0 5px;white-space:nowrap}.review-marker b{font-size:12px;font-weight:950}.review-marker em{background:#7c3aed;border-radius:999px;color:#fff;font-size:9px;font-style:normal;font-weight:900;line-height:15px;min-width:15px;padding:0 3px;text-align:center}.focus-node.has-review{grid-template-columns:30px minmax(0,1fr) auto 34px}.focus-node.has-importance.has-review{grid-template-columns:30px minmax(0,1fr) auto 26px 34px}.recall-navigation-node{grid-template-columns:25px minmax(0,1fr) auto auto}.recall-navigation-node>.review-marker{height:27px;min-width:27px;padding:0 4px}.topic-flow-shell .flow-node .review-marker{position:absolute;right:23px;top:-5px;z-index:3}.topic-flow-shell .flow-node .review-marker+.flow-recall-button{z-index:4}.review-mark-button{align-items:center;align-self:flex-start;background:#f5f0ff;border:1px solid #c7b4ee;border-radius:10px;color:#6d28d9;cursor:pointer;display:inline-flex;font-weight:900;gap:7px;margin-top:10px;min-height:38px;padding:8px 13px}.review-mark-button:hover:not(:disabled){background:#ede5fc;border-color:#9f7aea}.review-mark-button.marked{background:#ede9fe;border-color:#d5c7f3;color:#6541a5;cursor:default}.structured-review-unit{align-items:start;display:block;min-height:34px;padding-right:102px;position:relative}.structured-review-unit>p{margin:0}.structured-review-unit>.review-mark-button{border-radius:999px;font-size:12px;gap:4px;margin:0;min-height:30px;padding:4px 9px;position:absolute;right:0;top:0}.structured-review-unit>.review-mark-button svg{height:14px;width:14px}.structured-review-unit+.structured-review-unit{border-top:1px dashed #d8e4f4;margin-top:10px;padding-top:10px}.structured-review-unit+.structured-review-unit>.review-mark-button{top:10px}.review-entry-card{align-items:center;background:linear-gradient(135deg,#faf7ff,#f0e9ff);border:1px solid #d8c8f5;border-radius:20px;box-shadow:0 14px 34px #6d28d91a;display:grid;gap:14px;grid-template-columns:54px minmax(0,1fr) auto;min-height:0;padding:18px 20px}.review-entry-icon,.review-hero-icon{align-items:center;background:#7c3aed;border-radius:16px;box-shadow:0 10px 22px #6d28d938;color:#fff;display:flex;height:54px;justify-content:center;width:54px}.review-entry-copy{min-width:0}.review-entry-copy span,.review-hero-card>div:nth-of-type(2)>span{color:#7c3aed;font-size:13px;font-weight:900}.review-entry-copy h2{color:#26104f;font-size:22px;margin:2px 0 3px}.review-entry-copy p{color:#675787;line-height:1.4;margin:0}.review-entry-card .secondary-button{background:#fff;border-color:#a78bda;color:#6d28d9;margin:0;white-space:nowrap}.home-review-card{align-content:center}.profile-page{align-content:start;grid-auto-rows:max-content;grid-template-rows:none;height:auto;min-height:100%}.review-page{align-content:start;max-width:1160px;padding-bottom:20px}.review-hero-card,.review-empty-card,.review-group-card{background:#fff;border:1px solid #dce6f4;border-radius:20px;box-shadow:0 14px 34px #23498414}.review-hero-card{align-items:center;background:linear-gradient(135deg,#faf7ff,#f1ebff 62%,#fff);border-color:#d8c8f5;display:grid;gap:18px;grid-template-columns:auto 60px minmax(0,1fr) auto auto;padding:22px}.review-back-button,.review-remove-button{align-items:center;background:#fff;border:1px solid #d6e1f0;border-radius:10px;color:#526887;cursor:pointer;display:inline-flex;font-weight:850;gap:6px;min-height:38px;padding:8px 12px}.review-hero-card h1{color:#25104d;font-size:30px;margin:2px 0}.review-hero-card p{color:#675787;margin:0}.review-hero-card>strong{color:#6d28d9;font-size:38px}.review-hero-card .primary-button{background:#7c3aed;margin:0}.review-empty-card{color:#6a7c99;display:grid;gap:10px;justify-items:center;padding:48px 24px;text-align:center}.review-empty-card svg{color:#7c3aed}.review-empty-card h2,.review-empty-card p{margin:0}.review-group-card{padding:20px}.review-group-card>h2{color:#142552;font-size:20px;margin:0 0 14px}.review-unit-list{display:grid;gap:12px}.review-unit-card{background:#fbfcff;border:1px solid #dce7f6;border-left:4px solid #8b5cf6;border-radius:14px;display:grid;gap:9px;padding:15px 16px}.review-unit-card.unavailable{background:#f6f7f9;border-left-color:#aab4c3;opacity:.82}.review-unit-heading{align-items:start;color:#5e7396;display:flex;font-size:13px;font-weight:850;gap:10px;justify-content:space-between}.review-unit-card>p{color:#0b1d4f;font-size:16px;line-height:1.65;margin:0;white-space:pre-wrap}.review-unit-card>small{color:#8392aa}.review-unit-actions{display:flex;gap:9px;justify-content:flex-end}.review-unit-actions .secondary-button,.review-unit-actions .review-remove-button{margin:0;min-height:38px}.review-remove-button{border-color:#ead6dc;color:#a63b55}.review-load-more{justify-self:center;margin:0}@media(max-width:760px){.review-hero-card{align-items:center;grid-template-columns:auto minmax(0,1fr) auto}.review-back-button{grid-column:1 / -1;justify-self:start}.review-hero-icon{height:48px;width:48px}.review-hero-card>strong{font-size:30px}.review-hero-card .primary-button{grid-column:1 / -1;width:100%}.review-entry-card{grid-template-columns:48px minmax(0,1fr)}.review-entry-icon{height:48px;width:48px}.review-entry-card .secondary-button{grid-column:1 / -1;width:100%}}@media(max-width:600px)and (orientation:portrait){.home-review-card{order:4}.review-page{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.review-hero-card,.review-group-card,.review-empty-card,.review-entry-card{border-radius:17px}.review-hero-card{gap:12px;padding:16px}.review-hero-card h1{font-size:25px}.review-hero-card p{font-size:13px}.review-group-card{padding:14px}.review-unit-card{padding:13px}.review-unit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.review-unit-actions button{width:100%}.profile-page{grid-template-rows:auto}}.recall-action-footer>.review-mark-button{align-self:center;height:48px;margin:0;min-width:138px}.review-marker{background:linear-gradient(180deg,#9a6cff,#7134dc);border:0;border-radius:6px 6px 2px 2px;clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);color:#fff;height:30px;min-width:24px;padding:0 5px 4px;width:auto}.review-marker em{background:#fff;color:#6d28d9;line-height:14px;min-width:14px}.topic-flow-shell .flow-node .review-marker{right:24px;top:-6px}.topic-flow-shell .react-flow__node.flow-expandable .flow-node-content.has-review.has-importance .flow-node-label{align-items:flex-start;padding-top:23px}@media(max-width:600px)and (orientation:portrait){.recall-action-footer.has-review-action,.recall-action-footer.floating-recall-actions.has-review-action{grid-template-columns:repeat(3,minmax(0,1fr))}.recall-action-footer>.review-mark-button{font-size:13px;min-height:48px;min-width:0;padding-left:7px;padding-right:7px}}@media(max-width:370px)and (orientation:portrait){.recall-action-footer.has-review-action,.recall-action-footer.floating-recall-actions.has-review-action{grid-template-columns:repeat(3,minmax(0,1fr))}.recall-action-footer.has-review-action button{font-size:12px;padding-left:4px;padding-right:4px}}.recall-action-footer.has-review-action>button{font-size:16px;line-height:1;white-space:nowrap}@media(max-width:600px)and (orientation:portrait){.recall-action-footer.has-review-action>button,.recall-action-footer.floating-recall-actions.has-review-action>button{font-size:16px;line-height:1;white-space:nowrap}}.review-entry-count{display:none}@media(min-width:601px){.home-review-card{align-content:stretch;background:radial-gradient(circle at 88% 16%,rgba(139,92,246,.16),transparent 31%),linear-gradient(145deg,#fbf9ff,#f0e8ff);grid-template-columns:62px minmax(0,1fr);grid-template-rows:auto minmax(86px,1fr) auto;overflow:hidden;padding:23px;position:relative}.home-review-card:before{border:22px solid rgba(124,58,237,.055);border-radius:999px;content:"";height:150px;pointer-events:none;position:absolute;right:-54px;top:-58px;width:150px}.home-review-card .review-entry-icon{align-self:start;grid-column:1;grid-row:1;height:58px;width:58px}.home-review-card .review-entry-copy{align-self:center;grid-column:2;grid-row:1;position:relative;z-index:1}.home-review-card .review-entry-copy p{font-size:14px}.home-review-card .review-entry-count{align-content:center;align-items:center;align-self:stretch;background:#ffffff9e;border:1px solid rgba(167,139,250,.42);border-radius:18px;display:grid;gap:2px 14px;grid-column:1 / -1;grid-row:2;grid-template-columns:auto minmax(0,1fr);margin:16px 0;padding:15px 18px;position:relative;z-index:1}.home-review-card .review-entry-count strong{color:#6d28d9;font-size:clamp(42px,4vw,58px);grid-row:1 / span 2;line-height:1}.home-review-card .review-entry-count span{color:#311064;font-size:17px;font-weight:950}.home-review-card .review-entry-count em{color:#74658f;font-size:12px;font-style:normal;font-weight:750}.home-review-card>.secondary-button{grid-column:1 / -1;grid-row:3;min-height:48px;position:relative;width:100%;z-index:1}}.profile-settings-grid{align-items:start;align-self:start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr);min-height:0}.profile-settings-grid>.profile-card:not(.recall-filter-card){align-items:center;grid-template-columns:minmax(0,1fr) auto;min-height:78px;padding:12px 16px}.profile-setting-copy{min-width:0}.profile-setting-copy h2{font-size:20px;margin-bottom:4px}.profile-setting-copy p{font-size:14px}.recall-filter-card{align-content:center;align-items:center;background:linear-gradient(135deg,#fffdf5,#fff8df)!important;border-color:#eed58c!important;grid-template-columns:52px minmax(0,1fr) auto;min-height:92px;padding:12px 16px!important}.recall-filter-card-icon{align-items:center;background:linear-gradient(180deg,#fff0a8,#ffd867);border:1px solid #e5b93e;border-radius:15px;color:#875d00;display:flex;height:48px;justify-content:center;width:48px}.recall-filter-card-copy{min-width:0}.recall-filter-card-copy>span{color:#9a6a08;font-size:13px;font-weight:900}.recall-filter-card-copy h2{font-size:20px;margin:2px 0 4px}.recall-filter-card-copy p{font-size:14px;line-height:1.4}.recall-filter-switch{align-items:center;background:#fff;border:1px solid #e4c86f;border-radius:999px;color:#80601a;cursor:pointer;display:inline-grid;gap:8px;grid-template-columns:42px auto;min-height:42px;padding:5px 12px 5px 6px;white-space:nowrap}.recall-filter-switch i{background:#e8dfc7;border-radius:999px;display:block;height:24px;position:relative;transition:background .16s ease;width:42px}.recall-filter-switch i:after{background:#fff;border-radius:50%;box-shadow:0 2px 6px #5e481440;content:"";height:18px;left:3px;position:absolute;top:3px;transition:transform .16s ease;width:18px}.recall-filter-switch strong{font-size:13px}.recall-filter-switch.active{background:#fff5c9;border-color:#d9aa27;color:#765000}.recall-filter-switch.active i{background:#e8b72f}.recall-filter-switch.active i:after{transform:translate(18px)}.recall-filter-switch:disabled{cursor:wait;opacity:.7}@media(max-width:600px)and (orientation:portrait){.profile-settings-grid{grid-template-columns:minmax(0,1fr)}.recall-filter-card{gap:10px;grid-template-columns:46px minmax(0,1fr)}.recall-filter-card-icon{border-radius:13px;height:44px;width:44px}.recall-filter-card-copy h2{font-size:19px}.recall-filter-card-copy p{font-size:13px}.recall-filter-switch{grid-column:1 / -1;grid-template-columns:42px minmax(0,1fr);justify-content:start;width:100%}}.study-plan-entry-card{align-items:center;background:radial-gradient(circle at 94% 8%,rgba(37,99,235,.14),transparent 34%),linear-gradient(145deg,#f8fbff,#edf5ff);border:1px solid #bfd8ff;border-radius:20px;box-shadow:0 12px 30px #2160be17;display:grid;gap:12px;grid-template-columns:48px minmax(0,1fr) auto;min-height:0;padding:16px 18px}.study-plan-entry-icon,.study-plan-hero-icon{align-items:center;background:linear-gradient(145deg,#1677ff,#5a8dff);border-radius:15px;box-shadow:0 8px 18px #1677ff38;color:#fff;display:flex;height:48px;justify-content:center;width:48px}.study-plan-entry-copy{min-width:0}.study-plan-entry-copy>span{color:#2864c7;font-size:12px;font-weight:900}.study-plan-entry-copy h2{color:#071653;font-size:21px;margin:2px 0 3px}.study-plan-entry-copy p{color:#61749a;font-size:13px;line-height:1.35;margin:0}.study-plan-entry-card>strong{align-items:center;background:#e1edff;border-radius:999px;color:#1677ff;display:flex;font-size:24px;height:48px;justify-content:center;min-width:48px}.study-plan-entry-card>strong.has-overdue{background:#fff0ee;color:#e14d43}.study-plan-entry-card>.secondary-button{grid-column:1 / -1;min-height:42px;width:100%}.study-plan-page{align-content:start;grid-template-columns:minmax(0,1fr);padding-bottom:24px}.study-plan-hero{align-items:center;background:radial-gradient(circle at 88% 12%,rgba(96,165,250,.2),transparent 28%),linear-gradient(145deg,#fff,#eef6ff);border:1px solid #c7dcff;border-radius:22px;display:grid;gap:18px;grid-template-columns:auto 58px minmax(0,1fr) auto;min-height:126px;padding:20px 24px}.study-plan-hero-icon{border-radius:18px;height:58px;width:58px}.study-plan-hero span{color:#3270cd;font-size:13px;font-weight:900}.study-plan-hero h1{color:#071653;font-size:30px;margin:3px 0}.study-plan-hero p{color:#63769e;margin:0}.plan-hero-actions{display:flex;gap:10px}.plan-hero-actions .secondary-button,.plan-cancel-button{min-height:42px;padding:0 17px}.plan-cancel-button{background:#fff;border:1px solid #efc9c9;border-radius:13px;color:#b64b55;cursor:pointer;font-weight:850}.study-plan-builder,.study-plan-preview,.plan-task-section,.plan-calendar,.plan-round-list{background:#fff;border:1px solid #d6e5fb;border-radius:22px;box-shadow:0 12px 32px #25539712;padding:22px 24px}.study-plan-builder{display:grid;gap:18px}.plan-field{display:grid;gap:8px}.plan-field>span{color:#193668;font-size:14px;font-weight:900}.plan-field select,.plan-field input{background:#fbfdff;border:1px solid #cbdffc;border-radius:13px;color:#10265b;font:inherit;min-height:46px;padding:0 14px}.plan-field small{color:#7486a8}.plan-field-heading{align-items:center;display:flex;justify-content:space-between}.plan-field-heading>span{color:#193668;font-size:14px;font-weight:900}.plan-chapter-actions{display:flex;flex-wrap:wrap;gap:7px}.plan-chapter-actions button{background:#f8fbff;border:1px solid #cbdffc;border-radius:9px;color:#526b98;cursor:pointer;font-size:12px;font-weight:800;min-height:32px;padding:0 11px}.plan-chapter-actions button.active{background:#eaf3ff;border-color:#1677ff;color:#116be8}.plan-chapter-grid{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));max-height:292px;overflow-y:auto;padding:2px}.plan-chapter-grid label{align-items:center;background:#fbfdff;border:1px solid #d7e4f7;border-radius:11px;cursor:pointer;display:grid;gap:7px;grid-template-columns:auto auto minmax(0,1fr) auto;min-height:48px;padding:8px 10px}.plan-chapter-grid label.selected{background:#eef6ff;border-color:#62a5ff;box-shadow:inset 0 0 0 1px #1677ff14}.plan-chapter-grid label.unavailable{background:#f7f8fa;border-style:dashed}.plan-chapter-grid input{accent-color:#1677ff;min-height:auto;padding:0}.plan-chapter-grid span{color:#1677ff;font-size:11px;font-weight:900;white-space:nowrap}.plan-chapter-grid strong{color:#173164;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-chapter-grid em{color:#98a2b5;font-size:10px;font-style:normal;white-space:nowrap}.plan-mode-options{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.plan-mode-options button{background:#f8fbff;border:1px solid #ccddf8;border-radius:16px;color:#17336a;cursor:pointer;display:grid;gap:5px;min-height:76px;padding:14px 16px;text-align:left}.plan-mode-options button.active{background:#eaf3ff;border:2px solid #1677ff;box-shadow:0 8px 18px #1677ff1a;padding:13px 15px}.plan-mode-options strong{font-size:18px}.plan-mode-options em{color:#6a7da1;font-size:13px;font-style:normal}.plan-date-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.rest-day-options{display:flex;flex-wrap:wrap;gap:8px}.rest-day-options button{background:#fff;border:1px solid #d1e0f6;border-radius:10px;color:#60749a;cursor:pointer;min-height:36px;padding:0 13px}.rest-day-options button.active{background:#1677ff;border-color:#1677ff;color:#fff}.plan-builder-actions{align-items:center;display:flex;gap:12px;justify-content:flex-end}.plan-builder-actions button{border-radius:14px;flex:0 0 148px;height:48px;margin:0;min-height:48px;padding:0 22px;width:148px}.plan-error,.plan-warning{background:#fff2f0;border:1px solid #ffc9c3;border-radius:13px;color:#b63832;font-weight:750;padding:11px 14px}.plan-summary-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.plan-summary-grid article{background:#f5f9ff;border:1px solid #d9e7fb;border-radius:15px;display:grid;gap:3px;padding:14px}.plan-summary-grid strong{color:#1677ff;font-size:27px}.plan-summary-grid span{color:#6a7da2;font-size:13px}.plan-preview-heading{align-items:end;display:flex;justify-content:space-between;margin:18px 0 10px}.plan-preview-heading:first-of-type{margin-top:4px}.plan-preview-heading h3{color:#10265b;margin:0 0 3px}.plan-preview-heading p{color:#7486a8;font-size:12px;margin:0}.plan-preview-heading>strong{color:#1677ff;font-size:13px}.plan-preview-heading.review{border-top:1px solid #e3ecf9;padding-top:16px}.plan-preview-days.review-days{max-height:330px}.plan-preview-days,.plan-task-list,.plan-calendar,.plan-round-list{display:grid;gap:11px}.plan-preview-days{max-height:460px;overflow-y:auto}.plan-preview-days>article,.plan-calendar>article{background:#fbfdff;border:1px solid #d9e7fb;border-radius:15px;padding:13px 15px}.plan-preview-days>article.heavy{background:#fffaf0;border-color:#f4cd77}.plan-preview-days header,.plan-calendar>article>header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.plan-preview-days header span,.plan-calendar header span{color:#5f75a0;font-size:13px;font-weight:800}.plan-preview-days article>div{display:grid;gap:6px}.plan-preview-days article>div>span{color:#243b6d;font-size:14px}.plan-preview-days em,.plan-calendar em{background:#e7f1ff;border-radius:7px;color:#1677ff;font-size:11px;font-style:normal;font-weight:900;margin-right:8px;padding:3px 7px}.study-plan-tabs{background:#eaf2ff;border:1px solid #c9ddfb;border-radius:14px;display:grid;gap:4px;grid-template-columns:repeat(3,1fr);padding:4px}.study-plan-tabs button{background:transparent;border:0;border-radius:10px;color:#5d7198;cursor:pointer;font-weight:900;min-height:40px}.study-plan-tabs button.active{background:#fff;box-shadow:0 5px 13px #2e5b9f1f;color:#1677ff}.plan-task-section>header{align-items:center;border-bottom:1px solid #e2ecfa;display:flex;justify-content:space-between;margin-bottom:14px;padding-bottom:14px}.plan-task-section h2{color:#071653;margin:0 0 4px}.plan-task-section header p{color:#6c7fa3;margin:0}.plan-task-section>header>strong{color:#1677ff;font-size:36px}.plan-task-list article{align-items:center;background:#f8fbff;border:1px solid #d3e4fb;border-radius:16px;display:grid;gap:13px;grid-template-columns:64px minmax(0,1fr) auto;padding:13px}.plan-task-list article.overdue{background:#fff9f7;border-color:#ffc9bd}.plan-task-kind{align-items:center;background:#dfeeff;border-radius:13px;color:#1677ff;display:flex;font-size:13px;font-weight:950;height:52px;justify-content:center;text-align:center}.plan-task-list article.overdue .plan-task-kind{background:#ffe5df;color:#d34c3e}.plan-task-list h3{color:#10265b;font-size:17px;margin:3px 0}.plan-task-list span,.plan-task-list p{color:#7183a3;font-size:12px;margin:0}.plan-task-list .primary-button{min-height:42px;padding:0 17px}.plan-empty-task,.plan-round-complete{align-items:center;background:#f1fbf6;border:1px solid #bfe8cf;border-radius:16px;color:#158351;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;margin-bottom:14px;padding:16px}.plan-empty-task{justify-items:center;grid-template-columns:1fr;text-align:center}.plan-empty-task.waiting{background:#f5f9ff;border-color:#cbdffc;color:#1677ff}.plan-empty-task.waiting p{color:#667da5}.plan-empty-task h3,.plan-round-complete h3{margin:0 0 3px}.plan-empty-task p,.plan-round-complete p{color:#59806b;margin:0}.plan-calendar>article>div{align-items:center;border-top:1px solid #e9f0fa;display:grid;gap:8px;grid-template-columns:72px minmax(0,1fr) auto;padding:9px 0}.plan-calendar>article>div.completed{opacity:.58}.plan-calendar>article>div>strong{color:#60749a;font-size:12px}.plan-round-list{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-round-list article{background:#f7faff;border:1px solid #d6e5fa;border-radius:16px;padding:16px}.plan-round-list article>span{color:#1677ff;font-weight:900}.plan-round-list h3{color:#132c61;font-size:16px;margin:7px 0}.plan-round-list p{color:#7083a4;margin:0 0 8px}.plan-round-list article>strong{color:#1a9c61}@media(min-width:1101px){.home-page{grid-template-columns:repeat(4,minmax(0,1fr))}.home-hero-card{grid-column:span 3}}@media(max-width:1100px){.home-page{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;height:auto}.home-hero-card,.home-progress-card{grid-column:1 / -1}.study-plan-page{height:auto}}@media(max-width:600px)and (orientation:portrait){.home-page{grid-template-columns:minmax(0,1fr)}.home-hero-card,.home-progress-card{grid-column:1}.study-plan-entry-card{grid-template-columns:44px minmax(0,1fr) auto;padding:14px}.study-plan-entry-icon{border-radius:13px;height:44px;width:44px}.study-plan-entry-card>.secondary-button{grid-column:1 / -1}.study-plan-hero{align-items:start;grid-template-columns:auto 48px minmax(0,1fr);padding:15px}.study-plan-hero-icon{height:48px;width:48px}.study-plan-hero>div:nth-child(3){grid-column:2 / -1}.study-plan-hero h1{font-size:23px}.study-plan-hero p{font-size:13px}.plan-hero-actions{grid-column:1 / -1;width:100%}.plan-hero-actions button{flex:1}.study-plan-builder,.study-plan-preview,.plan-task-section,.plan-calendar,.plan-round-list{border-radius:17px;padding:15px}.plan-mode-options,.plan-date-grid{grid-template-columns:minmax(0,1fr)}.plan-chapter-grid{grid-template-columns:minmax(0,1fr);max-height:360px}.plan-chapter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.plan-chapter-actions button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-preview-heading{align-items:start}.plan-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rest-day-options{display:grid;grid-template-columns:repeat(4,1fr)}.rest-day-options button{padding:0 5px}.plan-task-list article{grid-template-columns:52px minmax(0,1fr)}.plan-task-list .primary-button{grid-column:1 / -1;width:100%}.plan-round-complete{grid-template-columns:auto minmax(0,1fr)}.plan-round-complete .primary-button{grid-column:1 / -1;width:100%}.plan-calendar>article>div{grid-template-columns:62px minmax(0,1fr)}.plan-calendar>article>div>strong{grid-column:2}.plan-round-list{grid-template-columns:minmax(0,1fr)}}.study-plan-history{background:#fff;border:1px solid #d6e5fb;border-radius:22px;padding:20px 24px}.study-plan-history>div:last-child{display:grid;gap:10px}.study-plan-history article{align-items:center;background:#f8fbff;border:1px solid #dce9fa;border-radius:14px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto auto;padding:13px 15px}.study-plan-history article span{color:#3270cd;font-size:12px;font-weight:900}.study-plan-history article h3{color:#10265b;margin:2px 0}.study-plan-history article p{color:#7183a3;font-size:12px;margin:0}.study-plan-history article>strong{color:#1677ff;font-size:20px}.study-plan-history article>em{background:#edf3fb;border-radius:999px;color:#60749a;font-size:12px;font-style:normal;font-weight:850;padding:6px 10px}@media(max-width:600px)and (orientation:portrait){.study-plan-history{border-radius:17px;padding:15px}.study-plan-history article{grid-template-columns:minmax(0,1fr) auto}.study-plan-history article>em{grid-column:2}}
