@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.cs-toggle{position:fixed;left:12px;top:50%;transform:translateY(-50%) translateX(0);z-index:100;width:44px;height:44px;border-radius:50%;background:var(--bg-primary,#fff);border:1px solid var(--border-subtle,#e8e8e8);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary,#888);transition:background .15s,color .15s,transform .25s cubic-bezier(.4,0,.2,1),opacity .25s;-webkit-tap-highlight-color:transparent;animation:cs-toggle-enter .3s cubic-bezier(.34,1.56,.64,1) both}@keyframes cs-toggle-enter{0%{transform:translateY(-50%) translateX(-60px);opacity:0}to{transform:translateY(-50%) translateX(0);opacity:1}}.cs-toggle:hover{background:var(--bg-tertiary,#f5f5f5);color:var(--text-primary,#222)}.cs-toggle svg{width:20px;height:20px}.cs-toggle-badge{position:absolute;top:-2px;right:-2px;background:#e55;color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.cs-panel{position:fixed;left:0;top:calc(60px + var(--safe-area-top, 0px));bottom:calc(64px + var(--safe-area-bottom, 0px));width:300px;z-index:100;background:var(--bg-primary,#fff);border-right:1px solid var(--border-subtle,#e8e8e8);display:flex;flex-direction:column;animation:cs-slide-in .2s ease-out}@keyframes cs-slide-in{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.cs-panel.closing{animation:cs-slide-out .2s ease-in forwards}@keyframes cs-slide-out{0%{transform:translateX(0)}to{transform:translateX(-100%)}}.cs-header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-subtle,#e8e8e8);flex-shrink:0}.cs-title{font-size:15px;font-weight:700;color:var(--text-primary,#222)}.cs-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:none;cursor:pointer;color:var(--text-tertiary,#aaa);transition:background .12s}.cs-close:hover{background:var(--bg-tertiary,#f5f5f5)}.cs-list{flex:1;overflow-y:auto;padding:0}.cs-section{padding:0 0 4px}.cs-section+.cs-section{border-top:1px solid var(--border-subtle,#e8e8e8)}.cs-section-head{display:flex;align-items:center;gap:6px;padding:10px 14px 6px;position:sticky;top:0;background:var(--bg-primary,#fff);z-index:1}.cs-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-tertiary,#999)}.cs-count{font-size:11px;background:var(--bg-tertiary,#eee);color:var(--text-secondary,#888);border-radius:6px;padding:1px 5px}.cs-requests{padding:8px 14px;border-bottom:1px solid var(--border-subtle,#e8e8e8);display:flex;flex-direction:column;gap:6px;flex-shrink:0}.cs-section-label{font-size:12px;font-weight:600;color:var(--text-secondary,#888);margin-bottom:2px}.cs-row{display:flex;align-items:flex-start;gap:10px;padding:8px 14px;cursor:pointer;transition:background .1s;border-radius:6px;margin:0 6px}.cs-row:hover{background:var(--bg-tertiary,#f5f5f5)}.cs-row.unread{background:rgba(40,120,200,.05)}.cs-row.discover{cursor:default}.cs-av{position:relative;flex-shrink:0;margin-top:1px}.cs-dot{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;background:#ccc;border:2px solid var(--bg-primary,#fff)}.cs-dot.on{background:var(--status-done)}.cs-team-icon{flex-shrink:0;width:34px;height:34px;border-radius:10px;background:var(--bg-tertiary,#f0f0f0);display:flex;align-items:center;justify-content:center;color:var(--text-secondary,#888);margin-top:1px}.cs-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cs-row-top{display:flex;align-items:center;gap:6px}.cs-name{font-size:14px;font-weight:600;color:var(--text-primary,#222);flex:1;min-width:0}.cs-name,.cs-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-sub{font-size:12px;color:var(--text-tertiary,#aaa)}.cs-online{color:var(--status-done);font-weight:500}.cs-offline{color:var(--text-tertiary,#aaa)}.cs-msg{color:var(--text-secondary,#777)}.cs-badge{flex-shrink:0;background:#e55;color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px}.cs-acts{display:flex;flex-direction:column;gap:2px;margin-top:6px;padding-top:5px;margin-bottom:2px;border-top:1px dashed var(--border-subtle,#eee)}.cs-act{font-size:11px;color:var(--text-secondary,#999);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5;padding-left:10px;position:relative}.cs-act:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:var(--text-tertiary,#ccc)}.cs-row-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .12s}.cs-row:hover .cs-row-actions{opacity:1}.cs-icon-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:none;background:none;cursor:pointer;color:var(--text-tertiary,#aaa);transition:background .12s,color .12s}.cs-icon-btn:hover{background:var(--bg-tertiary,#eee);color:var(--text-primary,#222)}.cs-link-btn{font-size:11px;font-weight:600;color:var(--accent-gold,#d4a843);background:none;border:none;cursor:pointer;padding:0;transition:opacity .12s}.cs-link-btn:hover{opacity:.7}.cs-pill{flex-shrink:0;padding:4px 12px;font-size:11px;font-weight:600;border-radius:12px;border:1px solid var(--border-subtle,#ddd);background:var(--bg-primary,#fff);color:var(--text-primary,#333);cursor:pointer;transition:background .12s}.cs-pill:hover{background:var(--bg-tertiary,#f5f5f5)}.cs-pill.sent{color:var(--text-tertiary,#aaa);border-color:transparent;background:var(--bg-tertiary,#f0f0f0);cursor:pointer}.cs-pill.sent:hover{background:var(--danger-bg,#fee);color:var(--danger-text,#c44)}.cs-team-chat-btn{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary,#f5f5f5);border:1px solid var(--border-subtle,#e0e0e0);color:var(--text-secondary,#888);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.cs-team-chat-btn:hover{background:var(--accent-gold-subtle,#fff8e8);border-color:var(--accent-gold,#d4a044);color:var(--accent-gold,#d4a044)}.cs-search{width:calc(100% - 28px);margin:2px 14px 8px;padding:7px 10px;border:1px solid var(--border-subtle,#ddd);border-radius:8px;font-size:12px;background:var(--bg-secondary,#f8f8f8);color:var(--text-primary,#222);outline:none}.cs-search:focus{border-color:var(--accent-gold,#d4a843)}.cs-empty-sm{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 14px;font-size:12px;color:var(--text-tertiary,#aaa)}.cs-discover-inline{margin:0 8px 6px;padding:6px 0 8px;background:var(--bg-secondary,#f8f8f8);border-radius:8px;border:1px solid var(--border-subtle,#eee)}.cs-discover-inline .cs-search{width:calc(100% - 20px);margin:2px 10px 6px}.cs-discover-inline .cs-row{margin:0;padding:10px 12px;border-radius:6px;align-items:center;min-height:44px;cursor:pointer}.cs-discover-inline .cs-empty-sm{padding:10px}.cs-create-btn{display:block;width:calc(100% - 20px);margin:2px 10px 6px;padding:7px 0;font-size:12px;font-weight:600;border-radius:8px;border:1px dashed var(--border-subtle,#ddd);background:none;color:var(--text-secondary,#888);cursor:pointer;transition:background .12s,color .12s;text-align:center}.cs-create-btn:hover{background:var(--bg-primary,#fff);color:var(--text-primary,#222)}.cs-team-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.cs-av,.cs-name,.cs-team-icon{cursor:pointer}.cs-team-icon.sm{width:30px;height:30px;border-radius:8px}.cs-link-btn.active{color:var(--text-primary,#222)}.cs-settings-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;border:none;background:none;cursor:pointer;color:var(--text-tertiary,#aaa);transition:background .12s,color .12s}.cs-settings-btn:hover{background:var(--bg-tertiary,#eee);color:var(--text-primary,#222)}.cs-act--clickable{cursor:pointer;transition:color .1s}.cs-act--clickable:hover{color:var(--text-primary,#555)}.cs-act-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;animation:cs-fade-in .12s ease-out}@keyframes cs-fade-in{0%{opacity:0}to{opacity:1}}.cs-act-popup{background:var(--bg-primary,#fff);border:1px solid var(--border-subtle,#e8e8e8);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.12);width:280px;max-width:calc(100vw - 32px);padding:16px;animation:cs-popup-in .15s ease-out}@keyframes cs-popup-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.cs-act-popup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cs-act-popup-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--accent-gold,#d4a843);background:rgba(212,168,67,.1);padding:2px 8px;border-radius:4px}.cs-act-popup-summary{font-size:14px;font-weight:600;color:var(--text-primary,#222);line-height:1.5;margin-bottom:8px}.cs-act-popup-detail{font-size:13px;color:var(--text-secondary,#777);line-height:1.5;margin-bottom:10px;padding:8px 10px;background:var(--bg-secondary,#f8f8f8);border-radius:8px;word-break:break-word}.cs-act-popup-time{font-size:11px;color:var(--text-tertiary,#aaa)}.cs-space-row{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-radius:8px;margin:2px 6px 4px;transition:background .12s}.cs-space-row:hover{background:var(--bg-tertiary,#f5f5f5)}.cs-space-icon{flex-shrink:0;width:34px;height:34px;border-radius:10px;background:var(--bg-tertiary,#f0f0f0);display:flex;align-items:center;justify-content:center;color:var(--text-secondary,#888);transition:background .12s,color .12s}.cs-space-row.active .cs-space-icon{background:rgba(74,153,100,.12);color:var(--status-done)}.cs-space-status{flex-shrink:0;font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--bg-tertiary,#eee);color:var(--text-tertiary,#aaa);letter-spacing:.3px}.cs-space-status.on{background:rgba(74,153,100,.12);color:var(--status-done)}.cs-share-picker{margin-top:6px;padding:6px 0;border-top:1px dashed var(--border-subtle,#eee);display:flex;flex-direction:column;gap:2px;overflow:visible}.cs-share-picker-title{font-size:11px;font-weight:700;color:var(--text-tertiary,#999);letter-spacing:.3px;margin-bottom:4px}.cs-share-option{display:flex;align-items:flex-start;gap:6px;padding:6px;border-radius:6px;border:1px solid transparent;background:none;cursor:pointer;text-align:left;transition:background .1s,border-color .1s}.cs-share-option:hover{background:var(--bg-tertiary,#f5f5f5)}.cs-share-option.active{background:rgba(212,168,67,.08);border-color:var(--accent-gold,#d4a843)}.cs-share-level-num{flex-shrink:0;width:18px;height:18px;border-radius:50%;background:var(--bg-tertiary,#eee);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--text-secondary,#888);margin-top:1px}.cs-share-option.active .cs-share-level-num{background:var(--accent-gold,#d4a843);color:#fff}.cs-share-level-info{display:flex;flex-direction:column;gap:1px;min-width:0}.cs-share-level-name{font-size:11px;font-weight:600;color:var(--text-primary,#222)}.cs-share-level-desc{font-size:10px;color:var(--text-tertiary,#aaa);line-height:1.4}.cc-sheet{display:flex;flex-direction:column;gap:12px}.cc-share-badge{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--accent-gold,#d4a843);background:rgba(212,168,67,.08);padding:6px 10px;border-radius:8px}.cc-share-desc{font-weight:400;color:var(--text-tertiary,#999);margin-left:auto}.cc-nav{gap:8px}.cc-nav,.cc-nav-btn{display:flex;align-items:center;justify-content:center}.cc-nav-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--border-subtle,#e0e0e0);background:var(--bg-primary,#fff);cursor:pointer;color:var(--text-secondary,#888);transition:background .12s}.cc-nav-btn:hover{background:var(--bg-tertiary,#f5f5f5)}.cc-nav-title{font-size:14px;font-weight:700;color:var(--text-primary,#222);background:none;border:none;cursor:pointer;padding:4px 12px;border-radius:6px;transition:background .12s}.cc-nav-title:hover{background:var(--bg-tertiary,#f5f5f5)}.cc-content{opacity:1;transition:opacity .18s ease-in-out}.cc-content--fading{opacity:0;transition:opacity .1s ease-in-out}.cc-empty{text-align:center;padding:24px 0;font-size:13px;color:var(--text-tertiary,#aaa)}.cc-empty--error{color:var(--danger-text,#c44)}.cc-periods{display:flex;flex-direction:column;gap:4px}.cc-period-bar{display:flex;align-items:center;justify-content:space-between;padding:5px 10px;border-radius:6px;font-size:12px;font-weight:600;color:#fff;background:var(--accent-gold,#d4a843)}.cc-period-range{font-weight:400;font-size:11px;opacity:.8}.cc-days{display:flex;flex-direction:column;gap:2px}.cc-day{padding:8px 10px;border-radius:8px;background:var(--bg-secondary,#f8f8f8)}.cc-day--today{background:rgba(212,168,67,.06);border:1px solid rgba(212,168,67,.2)}.cc-day-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.cc-day-label{font-size:11px;font-weight:700;color:var(--text-tertiary,#999);min-width:20px}.cc-day-date{font-size:12px;font-weight:600;color:var(--text-primary,#222)}.cc-today-badge{font-size:9px;font-weight:700;color:var(--accent-gold,#d4a843);background:rgba(212,168,67,.12);padding:1px 5px;border-radius:4px}.cc-day-mood{margin-left:auto;font-size:16px}.cc-reflection{font-size:11px;color:var(--text-secondary,#777);line-height:1.4;padding:4px 8px;background:var(--bg-primary,#fff);border-radius:6px;margin-bottom:4px}.cc-completed-count{font-size:10px;font-weight:600;color:var(--status-done,#4a9964);margin-bottom:4px}.cc-day-items{display:flex;flex-direction:column;gap:2px}.cc-day-empty{font-size:11px;color:var(--text-tertiary,#ccc);text-align:center;padding:2px 0}.cc-item{display:flex;align-items:flex-start;gap:6px;padding:4px 6px;border-radius:4px;border-left:3px solid var(--border-subtle,#ddd);background:var(--bg-primary,#fff);transition:background .1s}.cc-item--done{opacity:.6;border-left-color:var(--status-done,#4a9964)}.cc-item--progress{border-left-color:var(--accent-gold,#d4a843)}.cc-item--scheduled{background:rgba(212,168,67,.04)}.cc-item-status{flex-shrink:0;font-size:11px;width:16px;text-align:center;color:var(--text-tertiary,#999);margin-top:1px}.cc-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cc-item-title{font-size:12px;font-weight:500;color:var(--text-primary,#222);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-item-time{font-size:10px;color:var(--accent-gold,#d4a843);font-weight:600}.cc-item-location{font-size:10px;color:var(--text-tertiary,#aaa)}.cc-item-tags{display:flex;gap:3px;flex-wrap:wrap}.cc-item-tag{font-size:9px;padding:1px 4px;border-radius:3px;background:var(--bg-tertiary,#eee);color:var(--text-secondary,#777)}.cs-calendar-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:none;background:none;cursor:pointer;color:var(--text-tertiary,#aaa);transition:background .12s,color .12s;opacity:0}.cs-row:hover .cs-calendar-btn{opacity:1}.cs-calendar-btn:hover{background:var(--bg-tertiary,#eee);color:var(--accent-gold,#d4a843)}@media (min-width:768px){.cs-panel{top:48px;bottom:0}}@media (max-width:768px){.cs-toggle{top:auto;bottom:calc(132px + var(--safe-area-bottom, 0px));transform:translateX(0)}@keyframes cs-toggle-enter{0%{transform:translateX(-60px);opacity:0}to{transform:translateX(0);opacity:1}}}@media (max-width:480px){.cs-panel{width:100%}.cs-toggle{left:8px;width:40px;height:40px}.cs-toggle svg{width:18px;height:18px}}.skills-radar-card{background:var(--bg-secondary);border-radius:var(--radius-md);padding:16px;margin-bottom:16px;border:1px solid var(--border-subtle)}.skills-section-title{font-size:var(--font-base);font-weight:700;color:var(--text-primary);margin-bottom:12px}.skills-radar-svg{width:100%;max-width:280px;margin:0 auto;display:block}.skills-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.skills-filter-btn{padding:5px 12px;font-size:var(--font-xs);font-weight:600;border-radius:20px;background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.skills-filter-btn.active{background:var(--accent-gold);color:#000;border-color:var(--accent-gold)}.skills-filter-btn:hover:not(.active){border-color:var(--text-muted)}.skills-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.skill-card{background:var(--bg-secondary);border-radius:var(--radius-md);padding:12px;border:1px solid var(--border-subtle)}.skill-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.skill-card-emoji{font-size:20px;flex-shrink:0}.skill-card-info{flex:1;min-width:0}.skill-card-name{display:block;font-weight:600;font-size:var(--font-sm);color:var(--text-primary)}.skill-card-cat{font-size:var(--font-xs);font-weight:500}.skill-card-level{font-size:var(--font-base);font-weight:700;color:var(--accent-gold);flex-shrink:0}.skill-card-progress{display:flex;align-items:center;gap:8px;margin-bottom:6px}.skill-card-bar{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.skill-card-bar-fill{height:100%;border-radius:3px;transition:width .3s}.skill-card-xp{font-size:11px;color:var(--text-muted);flex-shrink:0;min-width:60px;text-align:right}.skill-card-actions{display:flex;gap:4px}.skills-add-btn{width:100%;padding:10px;background:var(--bg-secondary);border:1px dashed var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:border-color .15s;margin-bottom:12px}.skills-add-btn:hover{border-color:var(--accent-gold);color:var(--accent-gold)}.skills-add-form,.skills-log-form{background:var(--bg-secondary);border-radius:var(--radius-md);padding:12px;border:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.skills-add-select{padding:6px 8px;font-size:var(--font-xs)}.skills-add-input,.skills-add-select{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);outline:none}.skills-add-input{flex:1;padding:6px 10px;font-size:var(--font-sm)}.skills-add-input:focus,.skills-add-select:focus{border-color:var(--accent-gold)}.skills-tree{padding-bottom:20px}.skill-tree-graph{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.skill-tree-level{display:flex;flex-direction:column;gap:6px}.skill-tree-depth-label{font-size:var(--font-xs);color:var(--text-muted);font-weight:600}.skill-tree-row{display:flex;flex-wrap:wrap;gap:6px}.skill-tree-node{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 12px;background:var(--bg-secondary);border-radius:var(--radius-md);border:2px solid;cursor:pointer;transition:transform .15s,box-shadow .15s;min-width:80px}.skill-tree-node:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.skill-tree-node--locked{opacity:.5}.skill-tree-node--completed{background:rgba(74,222,128,.08)}.skill-tree-node-emoji{font-size:20px}.skill-tree-node-name{font-size:var(--font-xs);font-weight:600;color:var(--text-primary);text-align:center}.skill-tree-node-status{font-size:10px;font-weight:500}.skill-tree-detail{background:var(--bg-secondary);border-radius:var(--radius-md);padding:14px;border:1px solid var(--border-subtle)}.skill-tree-detail-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.skill-tree-detail-emoji{font-size:28px}.skill-tree-detail-name{font-size:var(--font-base);font-weight:700}.skill-tree-detail-cat{font-size:var(--font-xs);font-weight:500}.skill-tree-detail-desc{font-size:var(--font-sm);color:var(--text-secondary);margin-bottom:8px}.skill-tree-detail-prereq{font-size:var(--font-xs);color:var(--text-muted);margin-bottom:8px}.skill-tree-detail-locked{font-size:var(--font-xs);color:var(--text-muted);font-style:italic}.skills-log-summary{background:var(--bg-secondary);border-radius:var(--radius-md);padding:14px;border:1px solid var(--border-subtle);margin-bottom:12px}.skills-log-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.skills-log-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.skills-log-stat-value{font-size:var(--font-lg);font-weight:700;color:var(--accent-gold)}.skills-log-stat-label{font-size:10px;color:var(--text-muted)}.skills-log-form-row{display:flex;gap:8px}.skills-log-form-label{display:flex;align-items:center;gap:6px;font-size:var(--font-xs);color:var(--text-secondary)}.skills-log-form-number{width:60px;padding:4px 6px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-size:var(--font-xs);outline:none}.skills-log-form-number:focus{border-color:var(--accent-gold)}.skills-log-form-actions{display:flex;gap:6px}.skills-log-timeline{display:flex;flex-direction:column;gap:16px}.skills-log-date{font-size:var(--font-sm);font-weight:700;color:var(--text-primary);margin-bottom:8px;padding-left:4px}.skills-log-entries{display:flex;flex-direction:column;gap:6px}.skills-log-entry{display:flex;gap:10px;padding:10px 12px;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.skills-log-entry-emoji{font-size:18px;flex-shrink:0;margin-top:2px}.skills-log-entry-content{flex:1;min-width:0}.skills-log-entry-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.skills-log-entry-skill{font-size:var(--font-xs);font-weight:600}.skills-log-entry-xp{font-size:var(--font-xs);font-weight:700;color:var(--accent-gold)}.skills-log-entry-activity{font-size:var(--font-sm);color:var(--text-primary);display:block}.skills-log-entry-duration{font-size:11px;color:var(--text-muted);margin-top:2px;display:block}@media (max-width:360px){.skills-log-stats{grid-template-columns:repeat(2,1fr)}}.ps-panel{padding-top:0!important}.ps-connect{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;padding:var(--spacing-2xl) var(--spacing-lg)}.ps-logo{font-size:64px;margin-bottom:var(--spacing-sm);animation:ps-bounce 2s infinite}@keyframes ps-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.ps-title{font-size:var(--font-3xl);font-weight:800;color:var(--accent-gold);margin-bottom:var(--spacing-xs);letter-spacing:-.02em}.ps-subtitle{font-size:var(--font-base);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.ps-desc{font-size:var(--font-sm);color:var(--text-muted);margin-bottom:var(--spacing-lg);line-height:1.6}.ps-connect-form{display:flex;gap:var(--spacing-sm);width:100%;max-width:320px}.ps-input{flex:1;padding:10px 14px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-sm);outline:none;transition:border-color .15s;min-height:44px}.ps-input:focus{border-color:var(--accent-gold)}.ps-error{color:var(--accent-red);font-size:var(--font-xs);margin-top:var(--spacing-sm)}.ps-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-weight:600;font-size:var(--font-sm);cursor:pointer;transition:all .15s;border:1px solid transparent;white-space:nowrap;min-height:36px}.ps-btn:active:not(:disabled){transform:scale(.97)}.ps-btn:disabled{opacity:.5;cursor:not-allowed}.ps-btn-primary{background:var(--accent-gold);color:#000}.ps-btn-primary:hover:not(:disabled){opacity:.9}.ps-btn-ghost{background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary)}.ps-btn-ghost:hover:not(:disabled){border-color:var(--text-muted);color:var(--text-primary)}.ps-btn-accent{background:var(--accent-gold-subtle);border:1px solid var(--accent-gold);color:var(--accent-gold)}.ps-btn-accent:hover:not(:disabled){background:rgba(212,168,67,.25)}.ps-btn-sm{padding:var(--spacing-xs) var(--spacing-ms);min-height:32px}.ps-btn-sm,.ps-btn-xs{font-size:var(--font-xs)}.ps-btn-xs{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-xs);min-height:28px;min-width:36px}.ps-nav{display:flex;gap:var(--spacing-2xs);padding:var(--spacing-sm);background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ps-nav::-webkit-scrollbar{display:none}.ps-nav-btn{padding:var(--spacing-sm) var(--spacing-ms);font-size:var(--font-xs);font-weight:600;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .15s;border:1px solid transparent;min-height:36px}.ps-nav-btn.active{background:var(--accent-gold);color:#000}.ps-nav-btn:hover:not(.active){background:var(--bg-tertiary)}.ps-nav-btn:active:not(.active){transform:scale(.96)}.ps-section{margin-bottom:var(--spacing-md)}.ps-section-title{font-size:var(--font-sm);font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.ps-empty{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);background:var(--bg-secondary);border:1px dashed var(--border-subtle);border-radius:var(--radius-md);line-height:1.5}.ps-empty,.ps-hint{font-size:var(--font-xs);color:var(--text-muted)}.ps-hint{margin-bottom:var(--spacing-sm)}.ps-home{padding:var(--spacing-ms);padding-bottom:var(--spacing-2xl)}.ps-char-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.ps-char-header{display:flex;align-items:center;gap:var(--spacing-ms);margin-bottom:var(--spacing-ms)}.ps-char-avatar{font-size:36px}.ps-char-info{flex:1}.ps-char-name{display:block;font-weight:700;font-size:var(--font-base);color:var(--text-primary)}.ps-char-level{font-size:var(--font-lg);font-weight:800;color:var(--accent-gold)}.ps-xp-bar{height:16px;background:var(--bg-tertiary);overflow:hidden;position:relative;margin-bottom:var(--spacing-ms)}.ps-xp-bar,.ps-xp-fill{border-radius:var(--radius-sm)}.ps-xp-fill{height:100%;background:linear-gradient(90deg,var(--accent-gold),#f59e0b);transition:width .5s}.ps-xp-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--font-xs);font-weight:700;color:var(--text-primary);text-shadow:0 1px 2px rgba(0,0,0,.5)}.ps-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.ps-stat{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2xs);padding:var(--spacing-sm) var(--spacing-xs);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.ps-stat-icon{font-size:16px}.ps-stat-val{font-size:var(--font-base);font-weight:700;color:var(--text-primary)}.ps-stat-label{font-size:var(--font-xs);color:var(--text-muted)}.ps-equip-slots{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.ps-equip-slot,.ps-equip-slot-full{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.ps-equip-slot-label{font-size:var(--font-xs);font-weight:600;color:var(--text-muted);text-align:center}.ps-equip-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2xs);padding:var(--spacing-sm) var(--spacing-xs);background:var(--bg-tertiary);border-radius:var(--radius-sm);border:2px solid;font-size:20px}.ps-equip-name{font-size:var(--font-2xs);color:var(--text-secondary);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.ps-equip-empty{display:flex;align-items:center;justify-content:center;padding:var(--spacing-ms) var(--spacing-xs);background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px dashed var(--border-subtle);font-size:var(--font-xs);color:var(--text-muted)}.ps-skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.ps-skill-badge{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2xs);padding:var(--spacing-sm) var(--spacing-xs);background:var(--bg-tertiary);border-radius:var(--radius-sm);opacity:.4;transition:opacity .2s;border:1px solid transparent}.ps-skill-badge.unlocked{opacity:1;border-color:var(--accent-gold)}.ps-skill-emoji{font-size:18px}.ps-skill-name{font-size:var(--font-xs);font-weight:600;color:var(--text-primary);text-align:center}.ps-skill-req{font-size:var(--font-2xs);color:var(--text-muted)}.ps-kill-summary{text-align:center;font-size:var(--font-sm);color:var(--text-secondary);padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.ps-hunt{padding:var(--spacing-ms);padding-bottom:var(--spacing-2xl)}.ps-hunt-modes{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-ms)}.ps-mode-btn{flex:1;padding:var(--spacing-sm);font-size:var(--font-xs);font-weight:600;border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all .15s;text-align:center;min-height:40px}.ps-mode-btn:active{transform:scale(.97)}.ps-mode-btn.active{background:var(--accent-gold);color:#000;border-color:var(--accent-gold)}.ps-tier-select{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;margin-bottom:var(--spacing-ms)}.ps-tier-btn{padding:var(--spacing-sm) var(--spacing-ms);font-size:var(--font-sm);font-weight:600;border-radius:var(--radius-full);border:2px solid;cursor:pointer;transition:all .15s;min-height:34px}.ps-tier-btn:active{transform:scale(.95)}.ps-monster-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-ms)}.ps-monster-card{display:flex;align-items:center;gap:var(--spacing-ms);padding:var(--spacing-ms);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;text-align:left}.ps-monster-card.selected{border-color:var(--accent-gold);background:var(--accent-gold-subtle)}.ps-monster-card:hover:not(.selected){border-color:var(--text-muted)}.ps-monster-card:active{transform:scale(.98)}.ps-monster-emoji{font-size:28px;flex-shrink:0}.ps-monster-info{flex:1;min-width:0}.ps-monster-name{font-weight:700;color:var(--text-primary)}.ps-monster-name,.ps-monster-stats{display:block;font-size:var(--font-sm)}.ps-monster-desc,.ps-monster-stats{color:var(--text-muted)}.ps-monster-desc{font-size:var(--font-xs);display:block;margin-top:var(--spacing-2xs)}.ps-monster-reward{font-weight:600;color:var(--accent-gold)}.ps-monster-reward,.ps-monster-tier{font-size:var(--font-sm);flex-shrink:0}.ps-monster-tier{font-weight:700}.ps-hunt-party{margin-bottom:var(--spacing-ms)}.ps-hunt-party-label{font-size:var(--font-xs);color:var(--text-muted)}.ps-hunt-party-list{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;margin-top:var(--spacing-xs)}.ps-party-tag{padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);border-radius:var(--radius-full);font-size:var(--font-sm);color:var(--text-secondary)}.ps-btn-fight{width:100%;padding:var(--spacing-ms);font-size:var(--font-base);min-height:48px}.ps-battle,.ps-btn-fight{margin-bottom:var(--spacing-ms)}.ps-battle-log{max-height:40vh;overflow-y:auto;background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:var(--spacing-sm);font-family:monospace;border:1px solid var(--border-subtle)}.ps-log-line{display:flex;gap:var(--spacing-sm);padding:var(--spacing-2xs) 0;font-size:var(--font-sm);align-items:center}.ps-log-player{color:var(--accent-green)}.ps-log-monster{color:var(--accent-red)}.ps-log-turn{color:var(--text-muted);font-size:var(--font-xs);width:24px;flex-shrink:0}.ps-log-actor{font-size:var(--font-lg);flex-shrink:0}.ps-log-action{flex:1}.ps-log-dmg{color:var(--accent-red);font-weight:700}.ps-log-hp{color:var(--text-muted);font-size:var(--font-xs)}.ps-battle-result{padding:var(--spacing-md);border-radius:var(--radius-md);text-align:center;margin-bottom:var(--spacing-ms)}.ps-win{background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.3)}.ps-lose{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.3)}.ps-battle-result h4{font-size:var(--font-lg);font-weight:800;margin-bottom:var(--spacing-sm)}.ps-rewards{gap:var(--spacing-xs);font-size:var(--font-sm);color:var(--accent-gold);font-weight:600;margin-bottom:var(--spacing-ms)}.ps-loot,.ps-rewards{display:flex;flex-direction:column;align-items:center}.ps-loot{gap:var(--spacing-2xs);padding:var(--spacing-ms) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-sm);border:2px solid;margin-top:var(--spacing-sm);animation:ps-appear .3s ease-out}.ps-loot-label{font-size:var(--font-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase}.ps-loot-rarity{font-size:var(--font-sm);font-weight:700}.ps-lose-hint{font-size:var(--font-xs);color:var(--text-muted);margin-bottom:var(--spacing-ms)}.ps-gacha{padding:var(--spacing-ms);padding-bottom:var(--spacing-2xl);display:flex;flex-direction:column;align-items:center}.ps-gacha-machine{width:100%;max-width:360px}.ps-gacha-display{min-height:200px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle);margin-bottom:var(--spacing-ms);padding:var(--spacing-lg)}.ps-gacha-idle{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);color:var(--text-muted);font-size:var(--font-sm);text-align:center}.ps-gacha-idle-emoji{font-size:48px}.ps-gacha-rolling{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);color:var(--accent-gold);font-size:var(--font-sm);font-weight:600}.ps-gacha-spin{font-size:56px;animation:ps-spin .5s linear infinite}@keyframes ps-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ps-gacha-result{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);text-align:center;padding:var(--spacing-md);border:2px solid;border-radius:var(--radius-md);background:var(--bg-tertiary);animation:ps-appear .3s ease-out}@keyframes ps-appear{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.ps-gacha-result-emoji{font-size:40px}.ps-gacha-result-name{font-size:var(--font-base);font-weight:700;color:var(--text-primary)}.ps-gacha-result-rarity{font-size:var(--font-sm);font-weight:800}.ps-gacha-result-stats{display:flex;gap:var(--spacing-sm);font-size:var(--font-xs);color:var(--text-secondary)}.ps-gacha-result-desc{font-size:var(--font-xs);color:var(--text-muted);margin-top:var(--spacing-xs)}.ps-gacha-btn{width:100%;padding:var(--spacing-md);font-size:var(--font-base);margin-bottom:var(--spacing-md);min-height:48px}.ps-gacha-rates{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-ms);border:1px solid var(--border-subtle)}.ps-gacha-rates h4{font-size:var(--font-xs);font-weight:600;color:var(--text-muted);margin-bottom:var(--spacing-sm)}.ps-rate-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);font-size:var(--font-xs)}.ps-rate-row span:first-child{width:32px;font-weight:600}.ps-rate-row span:last-child{width:28px;text-align:right;color:var(--text-muted)}.ps-rate-bar{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.ps-rate-bar>div{height:100%;border-radius:3px}.ps-inventory{padding:var(--spacing-ms);padding-bottom:var(--spacing-2xl)}.ps-inv-filter{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-ms)}.ps-filter-btn{padding:var(--spacing-sm) var(--spacing-ms);font-size:var(--font-sm);font-weight:600;border-radius:var(--radius-full);background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all .15s;min-height:32px}.ps-filter-btn:hover:not(.active){border-color:var(--text-muted)}.ps-filter-btn:active{transform:scale(.95)}.ps-filter-btn.active{background:var(--accent-gold);color:#000;border-color:var(--accent-gold)}.ps-inv-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.ps-inv-item{display:flex;align-items:center;gap:var(--spacing-ms);padding:var(--spacing-ms);background:var(--bg-secondary);border-radius:var(--radius-sm);border:2px solid}.ps-inv-emoji{font-size:24px;flex-shrink:0}.ps-inv-info{flex:1;min-width:0}.ps-inv-name{font-weight:700}.ps-inv-name,.ps-inv-stats{display:block;font-size:var(--font-sm)}.ps-inv-stats{color:var(--text-muted)}.ps-inv-rarity{display:block;font-size:var(--font-xs);font-weight:700}.ps-inv-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.ps-stone-count{color:var(--text-secondary);padding:var(--spacing-sm);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);margin-top:var(--spacing-ms)}.ps-enhance-result,.ps-stone-count{text-align:center;font-size:var(--font-sm)}.ps-enhance-result{padding:var(--spacing-ms);border-radius:var(--radius-sm);font-weight:700;margin-bottom:var(--spacing-ms);animation:ps-appear .2s ease-out}.ps-enhance-success{background:rgba(74,222,128,.15);color:var(--accent-green);border:1px solid rgba(74,222,128,.3)}.ps-enhance-fail{background:rgba(248,113,113,.15);color:var(--accent-red);border:1px solid rgba(248,113,113,.3)}.ps-party{padding:var(--spacing-ms);padding-bottom:var(--spacing-2xl)}.ps-party-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.ps-party-card{display:flex;align-items:center;gap:var(--spacing-ms);padding:var(--spacing-ms);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.ps-party-emoji{font-size:24px;flex-shrink:0}.ps-party-info{flex:1;min-width:0}.ps-party-name{font-weight:700;color:var(--text-primary)}.ps-party-name,.ps-party-stats{display:block;font-size:var(--font-sm)}.ps-party-stats{color:var(--text-muted)}.ps-party-effects{padding:var(--spacing-ms);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);font-size:var(--font-xs);color:var(--text-secondary);line-height:1.8}.ps-effect-active{color:var(--accent-gold);font-weight:600}@media (max-width:360px){.ps-skills-grid,.ps-stats-grid{grid-template-columns:repeat(2,1fr)}.ps-equip-slots{flex-direction:column}.ps-hunt-modes{flex-wrap:wrap}.ps-mode-btn{min-width:calc(50% - var(--spacing-xs))}.ps-gacha-result-stats{flex-wrap:wrap;justify-content:center}}.sm-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sm-title{font-size:var(--font-xl);font-weight:800;color:var(--text-primary)}.sm-balance{font-size:var(--font-sm);color:var(--text-muted)}.sm-balance strong{color:var(--accent-gold);font-weight:700}.sm-controls{display:flex;align-items:center;gap:6px;margin-bottom:10px}.sm-filter-group{display:flex;gap:0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-color)}.sm-filter-btn{padding:6px 14px;min-height:44px;font-size:var(--font-sm);font-weight:700;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.sm-filter-btn:not(:last-child){border-right:1px solid var(--border-color)}.sm-filter-btn:hover{background:var(--bg-elevated)}.sm-filter-btn.active{background:var(--accent-gold);color:var(--bg-primary)}.sm-sort-select{margin-left:auto;padding:6px 10px;min-height:44px;font-size:var(--font-xs);font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer}.sm-my-orders-toggle{align-items:center;gap:6px;width:100%;padding:10px 12px;min-height:44px;font-size:var(--font-sm);font-weight:700;color:var(--accent-gold);background:var(--accent-gold-subtle);border:1px solid rgba(212,168,67,.18);cursor:pointer;margin-bottom:8px}.sm-my-orders,.sm-my-orders-toggle{display:flex;border-radius:var(--radius-sm)}.sm-my-orders{flex-direction:column;gap:1px;background:var(--bg-secondary);overflow:hidden;margin-bottom:10px}.sm-order-row{display:flex;align-items:center;gap:8px;padding:10px 12px;min-height:44px;background:var(--bg-tertiary);font-size:var(--font-sm)}.sm-order-row--clickable{cursor:pointer}.sm-order-row--clickable:hover,.sm-order-tag{background:var(--bg-elevated)}.sm-order-tag{font-weight:700;font-size:var(--font-xs);padding:2px 6px;border-radius:var(--radius-xs);flex-shrink:0;color:var(--text-muted)}.sm-order-tag--bond{color:var(--accent-purple,#a78bfa);background:rgba(167,139,250,.12)}.sm-order-tag--stock{color:var(--accent-gold);background:rgba(212,168,67,.12)}.sm-order-type{font-weight:800;font-size:var(--font-xs);padding:2px 8px;border-radius:var(--radius-xs);flex-shrink:0}.sm-order-type--buy{color:var(--status-done);background:var(--status-done-subtle)}.sm-order-type--sell{color:var(--danger-text);background:var(--danger-bg)}.sm-order-name{font-weight:600;color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sm-order-detail{font-size:var(--font-xs);font-variant-numeric:tabular-nums}.sm-cancel-btn,.sm-order-detail{color:var(--text-muted);flex-shrink:0}.sm-cancel-btn{font-size:var(--font-xs);font-weight:600;background:none;border:1px solid var(--border-subtle);cursor:pointer;padding:8px 12px;min-height:36px;border-radius:var(--radius-xs);transition:all .12s}.sm-cancel-btn:hover{background:var(--bg-elevated);color:var(--danger-text);border-color:var(--danger-text)}.sm-stock-list{display:flex;flex-direction:column;gap:1px;background:var(--bg-secondary);border-radius:var(--radius-md);overflow:hidden}.sm-section-label{font-size:var(--font-xs);font-weight:800;color:var(--text-muted);letter-spacing:.3px;padding:8px 12px 4px;background:var(--bg-tertiary);text-transform:uppercase}.sm-stock-card{display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:56px;background:var(--bg-tertiary);cursor:pointer;transition:background .12s}.sm-stock-card:active{background:var(--bg-elevated)}.sm-stock-card--held{border-left:3px solid var(--accent-gold)}.sm-stock-card.up{background:rgba(68,170,153,.05)}.sm-stock-card.down{background:rgba(240,128,128,.05)}.sm-stock-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.sm-entity-badge{flex-shrink:0;font-size:var(--font-2xs);font-weight:800;padding:2px 6px;border-radius:var(--radius-xs);letter-spacing:.3px;min-width:28px;text-align:center}.sm-entity-badge--user{color:var(--accent-blue);background:rgba(96,165,250,.12)}.sm-entity-badge--team{color:#2dd4bf;background:rgba(45,212,191,.12)}.sm-stock-info{display:flex;flex-direction:column;gap:3px;min-width:0}.sm-stock-name{font-size:var(--font-md);font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sm-stock-meta{font-size:var(--font-xs);color:var(--text-muted);line-height:1.3}.sm-stock-shares{font-size:var(--font-xs);color:var(--accent-gold);font-weight:600}.sm-stock-chart{width:60px;flex-shrink:0}.sm-stock-chart svg{display:block;width:100%;height:28px}.sm-stock-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;min-width:56px}.sm-stock-price{font-size:var(--font-lg);font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums;min-width:48px;text-align:right}.sm-stock-change{font-size:var(--font-xs);font-weight:700;font-variant-numeric:tabular-nums}.sm-stock-change.up{color:var(--status-done)}.sm-stock-change.down{color:var(--danger-text)}.sm-stock-pl{font-size:var(--font-2xs);font-weight:700;font-variant-numeric:tabular-nums}.sm-stock-pl.up{color:var(--status-done)}.sm-stock-pl.down{color:var(--danger-text)}.sm-empty{text-align:center;padding:32px 0;font-size:var(--font-base);color:var(--text-muted)}.sm-detail{gap:16px}.sm-detail,.sm-detail-header{display:flex;flex-direction:column}.sm-detail-header{gap:10px;padding:12px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.sm-detail-price-row{display:flex;align-items:flex-start;justify-content:space-between}.sm-detail-price{display:flex;flex-direction:column;gap:2px}.sm-detail-current{font-size:24px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1.1}.sm-detail-change{font-size:var(--font-sm);font-weight:700}.sm-detail-change.up{color:var(--status-done)}.sm-detail-change.down{color:var(--danger-text)}.sm-detail-stats{display:flex;flex-wrap:wrap;gap:6px}.sm-detail-stat{font-size:var(--font-xs);font-weight:600;padding:4px 10px;border-radius:var(--radius-xs);background:var(--bg-primary);color:var(--text-secondary)}.sm-detail-stat.accent{color:var(--accent-gold);background:var(--accent-gold-subtle)}.sm-detail-stat.danger{color:var(--danger-text)}.sm-detail-stat.warn{color:var(--status-wish)}.sm-detail-meta{display:flex;flex-wrap:wrap;gap:4px;font-size:var(--font-xs);color:var(--text-muted)}.sm-orderbook{display:flex;flex-direction:column;gap:1px;background:var(--bg-secondary);border-radius:var(--radius-sm);overflow:hidden}.sm-orderbook-title{font-size:var(--font-base);font-weight:800;color:var(--text-secondary);padding:10px 12px 6px;background:var(--bg-tertiary)}.sm-orderbook-grid,.sm-orderbook-side{display:flex;flex-direction:column}.sm-orderbook-label{font-size:var(--font-xs);font-weight:800;padding:6px 12px 3px;letter-spacing:.3px}.sm-orderbook-label.sell{color:var(--danger-text)}.sm-orderbook-label.buy{color:var(--status-done)}.sm-ob-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;min-height:32px;font-size:var(--font-base);font-variant-numeric:tabular-nums;transition:background .1s}.sm-ob-row--sell{background:rgba(240,128,128,.06)}.sm-ob-row--buy{background:rgba(68,170,153,.06)}.sm-ob-price{font-weight:700;min-width:64px}.sm-ob-row--sell .sm-ob-price{color:var(--danger-text)}.sm-ob-row--buy .sm-ob-price{color:var(--status-done)}.sm-ob-row.mine{border-left:2px solid var(--accent-gold)}.sm-ob-qty{font-size:var(--font-sm);font-weight:600;color:var(--text-secondary);text-align:right;min-width:48px}.sm-ob-empty{font-size:var(--font-sm);padding:8px 12px}.sm-ob-empty,.sm-ob-spread{color:var(--text-muted);background:var(--bg-tertiary)}.sm-ob-spread{text-align:center;font-size:var(--font-xs);font-weight:600;padding:4px 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.sm-trades{display:flex;flex-direction:column;gap:1px;background:var(--bg-secondary);border-radius:var(--radius-sm);overflow:hidden}.sm-trades-title{font-size:var(--font-base);font-weight:800;color:var(--text-secondary);padding:10px 12px 6px;background:var(--bg-tertiary)}.sm-trade-row{display:flex;align-items:center;gap:10px;padding:8px 12px;min-height:36px;background:var(--bg-tertiary);font-size:var(--font-sm);font-variant-numeric:tabular-nums}.sm-trade-price{font-weight:700;color:var(--text-primary);flex:1;min-width:56px}.sm-trade-qty{color:var(--text-secondary);font-weight:600}.sm-trade-time{margin-left:auto;color:var(--text-muted);font-size:var(--font-xs)}.sm-trade-form{display:flex;flex-direction:column;gap:12px;padding-top:4px}.sm-trade-tabs{display:flex;gap:0;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-color)}.sm-trade-tab{flex:1;padding:12px 0;min-height:44px;font-size:var(--font-md);font-weight:700;text-align:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .15s}.sm-trade-tab.active.buy{background:var(--status-done);color:#fff}.sm-trade-tab.active.sell{background:var(--danger-text);color:#fff}.sm-trade-inputs{display:flex;gap:8px}@media (max-width:360px){.sm-trade-inputs{flex-direction:column}}.sm-trade-field{flex:1;display:flex;flex-direction:column;gap:6px}.sm-trade-label{font-size:var(--font-sm);font-weight:700;color:var(--text-secondary)}.sm-trade-input{width:100%;padding:10px 12px;min-height:44px;font-size:var(--font-md);font-weight:700;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);outline:none;box-sizing:border-box;font-variant-numeric:tabular-nums;-moz-appearance:textfield;transition:border-color .15s}.sm-trade-input::-webkit-inner-spin-button,.sm-trade-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sm-trade-input:focus{border-color:var(--accent-gold);box-shadow:0 0 0 1px rgba(212,168,67,.2)}.sm-trade-total{font-size:var(--font-md);font-weight:700;color:var(--text-primary);text-align:center;padding:6px 0;font-variant-numeric:tabular-nums;background:var(--block-bg);border-radius:var(--radius-xs)}.sm-trade-submit{width:100%;padding:14px;min-height:48px;font-size:var(--font-lg);font-weight:800;border-radius:var(--radius-md);border:none;cursor:pointer;color:#fff;transition:opacity .15s}.sm-trade-submit:disabled{opacity:.4;cursor:not-allowed}.sm-trade-submit--buy{background:var(--status-done)}.sm-trade-submit--sell{background:var(--danger-text)}.sm-trade-submit:hover:not(:disabled){opacity:.85}.sm-trade-stepper{display:flex;align-items:stretch;gap:0;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.sm-trade-stepper-btn{width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);font-size:var(--font-lg);font-weight:700;cursor:pointer;transition:color .12s,background .12s;flex-shrink:0}.sm-trade-stepper-btn:first-child{border-right:1px solid var(--border-color)}.sm-trade-stepper-btn:last-child{border-left:1px solid var(--border-color)}.sm-trade-stepper-btn:hover{color:var(--accent-gold);background:var(--accent-gold-subtle)}.sm-trade-stepper-btn:disabled{opacity:.25;cursor:not-allowed}.sm-trade-stepper input{flex:1;text-align:center;border:none;background:transparent;color:var(--text-primary);font-size:var(--font-md);font-weight:700;font-variant-numeric:tabular-nums;padding:10px 4px;outline:none;-moz-appearance:textfield}.sm-trade-stepper input::-webkit-inner-spin-button,.sm-trade-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sm-trade-presets{display:flex;gap:4px;flex-wrap:wrap}.sm-trade-preset{padding:6px 12px;min-height:32px;font-size:var(--font-xs);font-weight:600;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .12s}.sm-trade-preset:hover{border-color:var(--text-muted);color:var(--text-primary)}.sm-trade-preset.active{border-color:var(--accent-gold);color:var(--accent-gold);background:var(--accent-gold-subtle)}.sm-qty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.sm-qty-btn{padding:10px 0;min-height:36px;font-size:var(--font-xs);font-weight:700;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .12s;text-align:center;-webkit-tap-highlight-color:transparent}.sm-qty-btn:hover{border-color:var(--text-muted);color:var(--text-primary)}.sm-qty-btn:active{transform:scale(.97)}.sm-qty-btn.active{border-color:var(--accent-gold);color:var(--accent-gold);background:var(--accent-gold-subtle)}.sm-qty-btn--add{color:var(--accent-gold);border-color:rgba(212,168,67,.25);background:rgba(212,168,67,.04)}.sm-qty-btn--add:hover{background:var(--accent-gold-subtle);border-color:var(--accent-gold);color:var(--accent-gold-hover)}.sm-qty-btn--sub{color:var(--accent-blue);border-color:rgba(96,165,250,.25);background:rgba(96,165,250,.04)}.sm-qty-btn--sub:hover{background:rgba(96,165,250,.12);border-color:var(--accent-blue);color:var(--accent-blue)}.sm-qty-btn--full{grid-column:1/-1;background:var(--block-bg);border-color:var(--border-subtle);color:var(--text-secondary)}.sm-qty-btn--full:hover{background:var(--block-bg-hover);color:var(--text-primary)}.sm-trade-deviation{display:inline-flex;align-items:center;align-self:flex-end;gap:4px;font-size:var(--font-xs);font-weight:700;font-variant-numeric:tabular-nums;padding:4px 10px;border-radius:var(--radius-sm);margin-top:2px}.sm-trade-deviation.up{color:var(--status-done);background:rgba(68,170,153,.12)}.sm-trade-deviation.down{color:var(--danger-text);background:rgba(240,128,128,.1)}.sm-trade-deviation.neutral{color:var(--text-muted);background:var(--block-bg)}.sm-dividend{display:flex;flex-direction:column;gap:10px;padding:12px 0 0;margin-top:4px;border-top:1px solid var(--border-color)}.sm-dividend-title{font-size:var(--font-md);font-weight:800;color:var(--text-primary)}.sm-dividend-stats{display:flex;flex-wrap:wrap;gap:8px}.sm-dividend-stat{font-size:var(--font-xs);font-weight:600;color:var(--text-secondary);padding:4px 10px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border-subtle)}.sm-dividend-history{display:flex;flex-direction:column;gap:4px;margin-top:2px}.sm-dividend-history-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-xs);font-weight:600;color:var(--text-secondary);padding:6px 10px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;gap:8px}.sm-dividend-form{display:flex;flex-direction:column;gap:10px}.sm-dividend-input-row{display:flex;gap:6px}.sm-dividend-preview{font-size:var(--font-md);font-weight:700;color:var(--accent-gold);text-align:center;padding:4px 0}.sm-dividend-wait{font-size:var(--font-sm);color:var(--text-muted);text-align:center;padding:10px 0}