From e15b52a205ed92f50e4c820d3ec416f96458db98 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E3=81=A0=E3=81=84=E3=81=A1=E3=81=BE=E3=82=8B?=
<98202777+Daichimarukana@users.noreply.github.com>
Date: Tue, 5 Aug 2025 13:46:18 +0900
Subject: [PATCH] uwuzu v1.6.0 Hapuego
---
.htaccess | 20 +-
.well-known/host-meta.php | 22 +
.well-known/host-meta/index.php | 21 +-
.well-known/nodeinfo.php | 28 +
.well-known/nodeinfo/index.php | 27 +-
.well-known/webfinger.php | 47 +
.well-known/webfinger/index.php | 46 +-
actor/index.php | 2 +-
api/auth.php | 327 +++
api/favorite/change.php | 46 +-
api/favorite/get.php | 45 +-
api/me/index.php | 44 +-
api/me/notification/index.php | 171 ++
api/me/notification/read.php | 123 +
api/me/settings/index.php | 443 +++
api/token/get.php | 100 +
api/ueuse/bookmark/index.php | 226 ++
api/ueuse/create.php | 46 +-
api/ueuse/delete.php | 41 +-
api/ueuse/get.php | 82 +-
api/ueuse/index.php | 81 +-
api/ueuse/mentions.php | 87 +-
api/ueuse/replies.php | 82 +-
api/ueuse/search.php | 82 +-
api/users/follow.php | 47 +-
api/users/index.php | 45 +-
api/users/unfollow.php | 48 +-
api/v1/instance.php | 12 +-
authlogin.php | 33 +-
bookmark/bookmark.php | 56 +-
check.php | 51 +-
css/home.css | 4773 ++++++++++++++++++-------------
css/style.css | 8 +-
errorpage/httperror.php | 4 +-
favicon/icon-192x192.png | Bin 2067 -> 9076 bytes
function/delete_apitoken.php | 43 +
function/function.php | 1520 ++++++----
home/index.php | 39 +-
img/titleimg/2.png | Bin 89250 -> 355763 bytes
img/uwuzucolorlogo.svg | 161 +-
img/uwuzuicon.png | Bin 2067 -> 15566 bytes
img/uwuzulogo.svg | 205 +-
js/view_function.js | 403 ++-
manifest/icon-512x512.png | Bin 5221 -> 15566 bytes
nextpage/bookmarktimeline.php | 106 +-
nextpage/followtimeline.php | 106 +-
nextpage/foryoutimeline.php | 106 +-
nextpage/localtimeline.php | 106 +-
nextpage/notification.php | 206 +-
nextpage/searchtimeline.php | 106 +-
nextpage/ueusetimeline.php | 106 +-
nextpage/userliketimeline.php | 139 +-
nextpage/usermediatimeline.php | 139 +-
nextpage/usertimeline.php | 345 +--
notification/index.php | 32 +-
others/index.php | 603 ++--
others/token.php | 56 +-
search/index.php | 13 +-
server/uwuzuabout.txt | 7 +-
server/uwuzuinfo.txt | 4 +-
server/uwuzurelease.txt | 66 +
settings/index.php | 12 +-
ueuse/activity/index.php | 36 +-
ueuse/index.php | 13 +-
unsupported.php | 14 +-
update.json | 64 +-
user/index.php | 290 +-
user/outbox/index.php | 177 +-
uwuzu_database.sql | 37 +-
uwuzu_error_code.txt | 2 +
70 files changed, 7406 insertions(+), 5172 deletions(-)
create mode 100644 .well-known/host-meta.php
create mode 100644 .well-known/nodeinfo.php
create mode 100644 .well-known/webfinger.php
create mode 100644 api/auth.php
create mode 100644 api/me/notification/index.php
create mode 100644 api/me/notification/read.php
create mode 100644 api/me/settings/index.php
create mode 100644 api/token/get.php
create mode 100644 api/ueuse/bookmark/index.php
create mode 100644 function/delete_apitoken.php
diff --git a/.htaccess b/.htaccess
index 343d114..2604d7a 100644
--- a/.htaccess
+++ b/.htaccess
@@ -1,22 +1,25 @@
-RewriteEngine on
+RewriteEngine On
+RewriteBase /
+
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME}\.php -f
+RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]
+
+# --- アクセス制限ルール ---
RewriteRule ^\.htaccess$ - [F]
RewriteRule ^db\.php$ - [F]
RewriteRule ^settings_admin/CloudflareTurnstile_settings/ - [F]
RewriteRule ^settings_admin/hCaptcha_settings/ - [F]
RewriteRule ^settings_admin/plugin_settings/ - [F]
-RewriteBase /
-
-RewriteRule ^(@\w+)$ /user/index.php?uwuzuid=$1 [QSA,L]
-
+# --- その他の独自ルーティング ---
+RewriteRule ^(@\w+)$ /user/index.php?userid=$1 [QSA,L]
+RewriteRule ^@([^@]+)@([^/]+)$ /user/index.php?userid=$1&domain=$2 [QSA,L]
RewriteRule ^!(\w+)~(\w+)$ /ueuse/index.php?ueuseid=$1&touser=$2 [QSA,L]
-
RewriteRule ^!(\w+)$ /ueuse/index.php?ueuseid=$1 [QSA,L]
+# --- エラーハンドリング ---
ErrorDocument 400 /errorpage/httperror.php
ErrorDocument 401 /errorpage/httperror.php
ErrorDocument 403 /errorpage/httperror.php
@@ -25,4 +28,5 @@ ErrorDocument 413 /errorpage/httperror.php
ErrorDocument 500 /errorpage/httperror.php
ErrorDocument 503 /errorpage/httperror.php
-Header set X-FRAME-OPTIONS "DENY"
\ No newline at end of file
+# --- セキュリティヘッダ ---
+Header set X-FRAME-OPTIONS "DENY"
diff --git a/.well-known/host-meta.php b/.well-known/host-meta.php
new file mode 100644
index 0000000..38b7f28
--- /dev/null
+++ b/.well-known/host-meta.php
@@ -0,0 +1,22 @@
+';
+ echo '';
+ echo '';
+ echo '';
+}else{
+ header("HTTP/1.1 410 Gone");
+}
+?>
\ No newline at end of file
diff --git a/.well-known/host-meta/index.php b/.well-known/host-meta/index.php
index b05557c..647f51c 100644
--- a/.well-known/host-meta/index.php
+++ b/.well-known/host-meta/index.php
@@ -1,22 +1,3 @@
';
- echo '';
- echo '';
- echo '';
-}else{
- header("HTTP/1.1 410 Gone");
-}
+require('../host-meta.php');
?>
\ No newline at end of file
diff --git a/.well-known/nodeinfo.php b/.well-known/nodeinfo.php
new file mode 100644
index 0000000..ce0d4a8
--- /dev/null
+++ b/.well-known/nodeinfo.php
@@ -0,0 +1,28 @@
+ [
+ array(
+ "rel" => "http://nodeinfo.diaspora.software/ns/schema/2.1",
+ "href" => "https://".$domain."/nodeinfo/2.1",
+ ),
+ ],
+ );
+
+ echo json_encode($item, JSON_UNESCAPED_UNICODE);
+}else{
+ header("HTTP/1.1 410 Gone");
+}
+?>
\ No newline at end of file
diff --git a/.well-known/nodeinfo/index.php b/.well-known/nodeinfo/index.php
index 25b6112..0161c99 100644
--- a/.well-known/nodeinfo/index.php
+++ b/.well-known/nodeinfo/index.php
@@ -1,28 +1,3 @@
[
- array(
- "rel" => "http://nodeinfo.diaspora.software/ns/schema/2.1",
- "href" => "https://".$domain."/nodeinfo/2.1",
- ),
- ],
- );
-
- echo json_encode($item, JSON_UNESCAPED_UNICODE);
-}else{
- header("HTTP/1.1 410 Gone");
-}
+require('../nodeinfo.php');
?>
\ No newline at end of file
diff --git a/.well-known/webfinger.php b/.well-known/webfinger.php
new file mode 100644
index 0000000..a352216
--- /dev/null
+++ b/.well-known/webfinger.php
@@ -0,0 +1,47 @@
+ PDO::ERRMODE_EXCEPTION,
+ PDO::MYSQL_ATTR_MULTI_STATEMENTS => false
+ );
+ $pdo = new PDO('mysql:charset=utf8mb4;dbname=' . DB_NAME . ';host=' . DB_HOST, DB_USER, DB_PASS, $option);
+ } catch (PDOException $e) {
+ // 接続エラーのときエラー内容を取得する
+ $error_message[] = $e->getMessage();
+ }
+ if(isset($_GET['resource'])){
+ $user = htmlentities($_GET['resource']);
+
+ $userid = str_replace('acct:','', str_replace('@'.$domain.'', '', $user));
+
+ $item = array(
+ "subject" => "acct:".$userid.'@'.$domain.'',
+ "links" => [
+ array(
+ "rel" => "self",
+ "type" => "application/activity+json",
+ "href" => "https://".$domain."/actor/?actor=@".$userid.'',
+ ),
+ ],
+ );
+
+ echo json_encode($item, JSON_UNESCAPED_UNICODE);
+ }
+}else{
+ header("HTTP/1.1 410 Gone");
+}
+?>
\ No newline at end of file
diff --git a/.well-known/webfinger/index.php b/.well-known/webfinger/index.php
index cf2b2f1..b8194c6 100644
--- a/.well-known/webfinger/index.php
+++ b/.well-known/webfinger/index.php
@@ -1,47 +1,3 @@
PDO::ERRMODE_EXCEPTION,
- PDO::MYSQL_ATTR_MULTI_STATEMENTS => false
- );
- $pdo = new PDO('mysql:charset=utf8mb4;dbname=' . DB_NAME . ';host=' . DB_HOST, DB_USER, DB_PASS, $option);
- } catch (PDOException $e) {
- // 接続エラーのときエラー内容を取得する
- $error_message[] = $e->getMessage();
- }
- if(isset($_GET['resource'])){
- $user = htmlentities($_GET['resource']);
-
- $userid = str_replace('acct:','', str_replace('@'.$domain.'', '', $user));
-
- $item = array(
- "subject" => "acct:".$userid.'@'.$domain.'',
- "links" => [
- array(
- "rel" => "self",
- "type" => "application/activity+json",
- "href" => "https://".$domain."/actor/?actor=@".$userid.'',
- ),
- ],
- );
-
- echo json_encode($item, JSON_UNESCAPED_UNICODE);
- }
-}else{
- header("HTTP/1.1 410 Gone");
-}
+require('../webfinger.php');
?>
\ No newline at end of file
diff --git a/actor/index.php b/actor/index.php
index e543141..7121cd4 100644
--- a/actor/index.php
+++ b/actor/index.php
@@ -63,7 +63,7 @@ if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){
"type" => "Person",
"preferredUsername" => "".$userData["userid"]."",
"name" => "".$userData["username"]."",
- "summary" => "".nl2br($userData["profile"])."",
+ "summary" => "".preg_replace('/\r\n/i', "", nl2br($userData["profile"]))."",
"followers" => "https://".$domain."/user/followers/?actor=@".$userid."",
"following" => "https://".$domain."/user/following/?actor=@".$userid."",
"inbox" => "https://".$domain."/user/inbox/?actor=@".$userid."",
diff --git a/api/auth.php b/api/auth.php
new file mode 100644
index 0000000..71e4ea2
--- /dev/null
+++ b/api/auth.php
@@ -0,0 +1,327 @@
+ 0,
+ 'path' => '/',
+ 'domain' => '',
+ 'secure' => true,
+ 'httponly' => true,
+ 'samesite' => 'Lax'
+]);
+session_start();
+session_regenerate_id(true);
+
+// データベースに接続
+try {
+
+ $option = array(
+ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
+ PDO::MYSQL_ATTR_MULTI_STATEMENTS => false
+ );
+ $pdo = new PDO('mysql:charset=utf8mb4;dbname='.DB_NAME.';host='.DB_HOST , DB_USER, DB_PASS, $option);
+
+} catch(PDOException $e) {
+
+ // 接続エラーのときエラー内容を取得する
+ $error_message[] = $e->getMessage();
+}
+
+//ログイン認証---------------------------------------------------
+blockedIP($_SERVER['REMOTE_ADDR']);
+$is_login = uwuzuUserLogin($_SESSION, $_COOKIE, $_SERVER['REMOTE_ADDR'], "user");
+if($is_login === false){
+ header("Location: ../index.php");
+ exit;
+}else{
+ $userid = safetext($is_login['userid']);
+ $username = safetext($is_login['username']);
+ $loginid = safetext($is_login["loginid"]);
+ $role = safetext($is_login["role"]);
+ $sacinfo = safetext($is_login["sacinfo"]);
+ $myblocklist = safetext($is_login["blocklist"]);
+ $myfollowlist = safetext($is_login["follow"]);
+ $is_Admin = safetext($is_login["admin"]);
+}
+$notiQuery = $pdo->prepare("SELECT COUNT(*) as notification_count FROM notification WHERE touserid = :userid AND userchk = 'none'");
+$notiQuery->bindValue(':userid', $userid);
+$notiQuery->execute();
+$notiData = $notiQuery->fetch(PDO::FETCH_ASSOC);
+
+$notificationcount = $notiData['notification_count'];
+
+if( !empty($pdo) ) {
+
+ // データベース接続の設定
+ $dbh = new PDO('mysql:charset=utf8mb4;dbname='.DB_NAME.';host='.DB_HOST, DB_USER, DB_PASS, array(
+ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
+ PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
+ PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
+ ));
+
+ $userQuery = $dbh->prepare("SELECT userid,role,datetime FROM account WHERE userid = :userid");
+ $userQuery->bindValue(':userid', $userid);
+ $userQuery->execute();
+ $userData = $userQuery->fetch();
+
+}
+$is_trueclient = false;
+if(!(empty($_GET["session"])) && !(empty($_GET["client"])) && !(empty($_GET["scope"]))){
+ $is_trueclient = true;
+ $session_code = safetext($_GET["session"]);
+ if(strlen($session_code) > 512){
+ $is_trueclient = false;
+ }
+ $client_name = safetext($_GET["client"]);
+ if(isset($_GET["icon"])){
+ $client_icon = safetext(urldecode($_GET["icon"]));
+ }else{
+ $client_icon = "../img/sysimage/errorimage/emoji_404.png";
+ }
+ if(isset($_GET["scope"])){
+ $client_scope_base = safetext(urldecode($_GET["scope"]));
+ $client_scope_base = array_unique(array_map('trim', explode(",", $client_scope_base)));
+
+ $client_scope = [];
+ $securityScopes = ["write:me", "write:ueuse", "write:follow", "write:favorite", "write:notifications", "write:bookmark", "read:bookmark"];
+ $securityScopesView = false;
+
+ foreach ($client_scope_base as $scope) {
+ if (GetAPIScopes($scope)) {
+ $client_scope[] = GetAPIScopes($scope);
+ if($securityScopesView === false && in_array($scope, $securityScopes)){
+ $securityScopesView = true;
+ }
+ } else {
+ $client_scope[] = "未知のスコープ ($scope)";
+ }
+ }
+ }else{
+ $client_scope[] = "権限なし";
+ }
+ if(isset($_GET["about"])){
+ $client_about = safetext(urldecode($_GET["about"]));
+ }else{
+ $client_about = "クライアントによる説明はありません。";
+ }
+ if(isset($_GET["callback"])){
+ $client_callback = safetext(urldecode($_GET["callback"]));
+ }else{
+ $client_callback = null;
+ }
+}else{
+ $is_trueclient = false;
+}
+
+if(!(isset($is_done))){
+ $is_done = false;
+}
+
+if($is_trueclient === true){
+ if( !empty($_POST['allow_submit']) ) {
+ $tokenQuery = $pdo->prepare("SELECT userid, token FROM api WHERE sessionid = :sessionid");
+ $tokenQuery->bindValue(':sessionid', $session_code);
+ $tokenQuery->execute();
+ $tokenData = $tokenQuery->fetch();
+
+ if(!(empty($tokenData["userid"]))){
+ $error_message[] = "不正なリクエストです。";
+ }
+
+ foreach ($client_scope_base as $scope) {
+ if (GetAPIScopes($scope)) {
+ $client_scope_done[] = $scope;
+ }else{
+ $client_scope_done = array();
+ }
+ }
+ $client_scope_done = implode(",", $client_scope_done);
+ if(empty($client_scope_done)){
+ $error_message[] = "不正な権限要求です。";
+ }
+
+ if($role == "ice"){
+ $error_message[] = "アカウントが凍結されているためAPIトークンの発行は行えません。";
+ }
+
+ if(empty($error_message)){
+ $pdo->beginTransaction();
+ try {
+ $uniqid = createUniqId();
+ $token = GenAPIToken();
+ $datetime = date("Y-m-d H:i:s");
+
+ $stmt = $pdo->prepare("INSERT INTO api (uniqid, userid, token, scope, datetime, clientname, sessionid) VALUES (:uniqid, :userid, :token, :scope, :datetime, :clientname, :sessionid)");
+
+ $stmt->bindParam(':uniqid', $uniqid, PDO::PARAM_STR);
+ $stmt->bindParam(':userid', $userid, PDO::PARAM_STR);
+ $stmt->bindParam(':token', $token, PDO::PARAM_STR);
+ $stmt->bindParam(':scope', $client_scope_done, PDO::PARAM_STR);
+ $stmt->bindParam(':datetime', $datetime, PDO::PARAM_STR);
+ $stmt->bindParam(':clientname', $client_name, PDO::PARAM_STR);
+ $stmt->bindParam(':sessionid', $session_code, PDO::PARAM_STR);
+
+ $res = $stmt->execute();
+
+ $res = $pdo->commit();
+
+ } catch(Exception $e) {
+ $pdo->rollBack();
+ }
+ if($res) {
+ if(!(empty($client_callback))){
+ header("Location: ".$client_callback."");
+ exit;
+ }else{
+ $is_done = true;
+ }
+ }else{
+ $is_done = false;
+ actionLog($userid, "error", "api/auth", $client_name, $e->getMessage(), 3);
+ $error_message[] = "APIトークンの生成に失敗しました...(REGISTED_DAME)";
+ }
+ }
+ }
+}
+
+
+require('../logout/logout.php');
+
+
+?>
+
+
+
+;">
diff --git a/css/home.css b/css/home.css
index 792d027..d0bca64 100644
--- a/css/home.css
+++ b/css/home.css
@@ -1,19 +1,32 @@
@import url("font.css");
@import url("color.css");
-::-webkit-scrollbar{
- display:none;
+::-webkit-scrollbar {
+ display: none;
}
-::-webkit-scrollbar:hover{
- overflow: scroll;
+
+::-webkit-scrollbar:hover {
+ overflow: scroll;
margin-right: 10px;
border-radius: 25px;
}
+
::selection {
color: var(--background-color);
background: var(--main-color);
}
-body{
+
+.flexbox{
+ display: flex;
+
+}
+
+.btnbox{
+ width: auto;
+ margin: 0px auto;
+}
+
+body {
width: 70%;
display: flex;
border: none;
@@ -23,26 +36,26 @@ body{
margin-right: auto;
padding-top: 12px;
background-color: var(--background-color);
- /* 画像を常に天地左右の中央に配置 */
+ /* 画像を常に天地左右の中央に配置 */
background-position: center center;
-
+
/* 画像をタイル状に繰り返し表示しない */
background-repeat: no-repeat;
-
+
/* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
background-attachment: fixed;
-
+
/* 表示するコンテナの大きさに基づいて、背景画像を調整 */
background-size: cover;
}
@media screen and (max-width:1500px) {
- body{
+ body {
width: 95%;
}
}
-.irobutton{
+.irobutton {
cursor: pointer;
border: none;
display: block;
@@ -56,23 +69,25 @@ body{
text-align: center;
border-radius: 50px;
- color:var(--dark-text-color);
+ color: var(--dark-text-color);
font-size: 18px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: all 250ms ease-in-out;
}
-.irobutton:hover{
+
+.irobutton:hover {
padding: 6px 22px;
}
-.irobutton:active{
+
+.irobutton:active {
background-color: color-mix(in srgb, var(--main-color) 90%, #000);
padding: 6px 12px;
}
-.sirobutton{
+.sirobutton {
cursor: pointer;
border: none;
display: block;
@@ -91,14 +106,16 @@ body{
font-size: 18px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
transition: all 250ms ease-in-out;
border: transparent 1px solid;
}
-.sirobutton:hover{
+
+.sirobutton:hover {
padding: 6px 22px;
}
-.sirobutton:active{
+
+.sirobutton:active {
padding: 6px 12px;
}
@@ -110,21 +127,23 @@ body{
border-radius: 10px;
background: var(--background-color);
font-family: var(--Head-fonts), sans-serif;
- color: rgb(32,32,32);
+ color: rgb(32, 32, 32);
font-size: 16px;
line-height: 1.5;
white-space: nowrap;
- box-shadow:0px 0px 25px rgba(0,0,0,0.03);
- overflow-x: scroll;
- overflow-y : scroll ;
+ box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.03);
+ overflow-x: scroll;
+ overflow-y: scroll;
transition: border 350ms ease-in-out;
transition: border-bottom 150ms ease-out;
border: 1px solid var(--border-color);
}
-textarea{
+
+textarea {
height: 200px;
resize: vertical;
}
+
.inbox::placeholder {
color: var(--subtext-color);
}
@@ -141,31 +160,34 @@ textarea{
}
-.errmsg{
+.errmsg {
padding-top: 16px;
padding-bottom: 16px;
padding-left: 32px;
padding-right: 32px;
border-radius: 10px;
background-color: color-mix(in srgb, var(--tl-color) 90%, var(--error));
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05) inset;
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05) inset;
margin: 12px;
text-align: left;
- color:var(--error);
+ color: var(--error);
font-family: var(--Text-fonts), sans-serif;
word-wrap: break-word;
line-height: 20px;
border: 1px solid var(--error);
}
+.justfit{
+ margin: 16px 0px;
+}
-.flexbtn{
+.flexbtn {
display: flex;
}
-.flexbtn .irobutton{
+.flexbtn .irobutton {
border: none;
display: block;
- width:20%;
+ width: 20%;
margin: 32px;
padding: 8px 10%;
margin-left: auto;
@@ -177,28 +199,30 @@ textarea{
background-color: var(--main-color);
border-radius: 50px;
- color:var(--background-color);
+ color: var(--background-color);
font-size: 26px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ text-decoration: none;
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
}
-.flexbtn.irobutton:hover{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
- width:55%;
-}
-.flexbtn.irobutton:active{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
- width:45%;
+
+.flexbtn.irobutton:hover {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
+ width: 55%;
}
-.flexbtn.sirobutton{
+.flexbtn.irobutton:active {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
+ width: 45%;
+}
+
+.flexbtn.sirobutton {
border: none;
display: block;
- width:50%;
+ width: 50%;
margin: 32px;
padding: 8px 10%;
margin-left: auto;
@@ -211,22 +235,24 @@ textarea{
background-color: var(--sub-color);
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
font-size: 26px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ text-decoration: none;
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
}
-.flexbtn.sirobutton:hover{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
- width:55%;
+
+.flexbtn.sirobutton:hover {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
+ width: 55%;
}
-.flexbtn.sirobutton:active{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
- width:45%;
+
+.flexbtn.sirobutton:active {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
+ width: 45%;
}
@@ -238,9 +264,9 @@ textarea{
border-radius: 25px;
background-color: var(--background-color);
border: 1px solid var(--main-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
}
-
+
.rolebox p {
margin: 2px 10px 2px 10px;
font-size: 16px;
@@ -255,11 +281,12 @@ textarea{
padding: auto;
flex-wrap: wrap;
}
-
+
.shine {
position: relative;
overflow: hidden;
}
+
.shine:after {
content: "";
position: absolute;
@@ -271,21 +298,25 @@ textarea{
transform: rotate(45deg);
animation: reflect 3s ease-in-out infinite;
}
+
@keyframes reflect {
+
0%,
75% {
- transform: rotate(45deg) scale(0);
- opacity: 1;
+ transform: rotate(45deg) scale(0);
+ opacity: 1;
}
-
+
100% {
- transform: rotate(45deg) scale(100);
- opacity: 0;
+ transform: rotate(45deg) scale(100);
+ opacity: 0;
}
}
+
.cyclingmark {
display: flex;
}
+
.cyclingmark p::before {
content: "";
display: inline-block;
@@ -293,66 +324,71 @@ textarea{
height: 16px;
vertical-align: middle;
margin-right: 5px;
- background: url("/img/uwuzuicon.png")
- no-repeat;
+ background: url("/img/uwuzuicon.png") no-repeat;
background-size: contain;
animation: cycling 2s infinite;
margin: -6px 0px 0px -2px;
}
+
@keyframes cycling {
from {
- animation-timing-function: ease-in-out;
- transform: translate(0px, 0px) scale(1, 1) rotate(0deg) skew(0deg, 0deg);
- opacity: 1;
+ animation-timing-function: ease-in-out;
+ transform: translate(0px, 0px) scale(1, 1) rotate(0deg) skew(0deg, 0deg);
+ opacity: 1;
}
-
+
to {
- animation-timing-function: ease-in-out;
- transform: translate(0px, 0px) scale(1, 1) rotate(360deg) skew(0deg, 0deg);
- opacity: 1;
+ animation-timing-function: ease-in-out;
+ transform: translate(0px, 0px) scale(1, 1) rotate(360deg) skew(0deg, 0deg);
+ opacity: 1;
}
-
+
25% {
- animation-timing-function: ease-in-out;
- transform: translate(0px, 0px) scale(1, 1) rotate(400deg) skew(0deg, 0deg);
- opacity: 1;
+ animation-timing-function: ease-in-out;
+ transform: translate(0px, 0px) scale(1, 1) rotate(400deg) skew(0deg, 0deg);
+ opacity: 1;
}
-
+
40% {
- animation-timing-function: ease-in-out;
- transform: translate(0px, 0px) scale(1, 1) rotate(330deg) skew(0deg, 0deg);
- opacity: 1;
+ animation-timing-function: ease-in-out;
+ transform: translate(0px, 0px) scale(1, 1) rotate(330deg) skew(0deg, 0deg);
+ opacity: 1;
}
-
+
60% {
- animation-timing-function: ease-in-out;
- transform: translate(0px, 0px) scale(1, 1) rotate(360deg) skew(0deg, 0deg);
- opacity: 1;
- }
-}
-.rainbow {
- animation: rain 5s infinite;
-}
-@keyframes rain {
- 0% {
- border: 1px solid magenta;
- color: magenta;
- }
- 33% {
- border: 1px solid yellow;
- color: yellow;
- }
- 66% {
- border: 1px solid cyan;
- color: cyan;
- }
- 100% {
- border: 1px solid magenta;
- color: magenta;
+ animation-timing-function: ease-in-out;
+ transform: translate(0px, 0px) scale(1, 1) rotate(360deg) skew(0deg, 0deg);
+ opacity: 1;
}
}
-.userleftbox{
+.rainbow {
+ animation: rain 5s infinite;
+}
+
+@keyframes rain {
+ 0% {
+ border: 1px solid magenta;
+ color: magenta;
+ }
+
+ 33% {
+ border: 1px solid yellow;
+ color: yellow;
+ }
+
+ 66% {
+ border: 1px solid cyan;
+ color: cyan;
+ }
+
+ 100% {
+ border: 1px solid magenta;
+ color: magenta;
+ }
+}
+
+.userleftbox {
border-radius: 17px;
margin-top: 12px;
margin-left: 0px;
@@ -364,27 +400,29 @@ textarea{
padding: 0px;
}
-.userleftbox h1{
+.userleftbox h1 {
font-family: var(--Head-fonts), sans-serif;
margin-left: 20px;
- color:var(--background-color);
+ color: var(--background-color);
font-size: 32px;
}
-.userleftbox .logo{
+
+.userleftbox .logo {
display: flex;
}
-.userleftbox .logo img{
+.userleftbox .logo img {
margin-left: auto;
margin-right: auto;
margin-top: 16px;
width: 72%;
-
+
}
-.userleftbox .logo p{
- color:var(--main-color);
+
+.userleftbox .logo p {
+ color: var(--main-color);
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
font-size: 32px;
@@ -393,12 +431,12 @@ textarea{
margin-bottom: -4px;
}
-.leftbutton{
+.leftbutton {
cursor: pointer;
border: none;
display: flex;
- width:80%;
+ width: 80%;
margin: 8px;
padding: 8px auto;
margin-left: auto;
@@ -411,27 +449,29 @@ textarea{
background-color: transparent;
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
font-size: 20px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: left;
align-items: center;
transition: all 250ms ease-out;
}
-.leftbutton:hover{
+
+.leftbutton:hover {
background-color: var(--main-color);
color: var(--sub-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
- width:85%;
-}
-.leftbutton:active{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
- width:78%;
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
+ width: 85%;
}
-.leftbutton .notipod{
+.leftbutton:active {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
+ width: 78%;
+}
+
+.leftbutton .notipod {
width: auto;
height: 25px;
margin-left: auto;
@@ -444,29 +484,30 @@ textarea{
border-radius: 25px;
transition: all 250ms ease-out;
}
-.leftbutton .notipod p{
+
+.leftbutton .notipod p {
margin-top: -1px;
margin-bottom: 0px;
margin-left: auto;
margin-right: auto;
- color:#FFF;
+ color: #FFF;
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: all 250ms ease-out;
}
.leftbutton:hover .notipod {
- background-color:#FFF;
+ background-color: #FFF;
}
-.leftbutton:hover .notipod p{
- color:#FF4444;
+.leftbutton:hover .notipod p {
+ color: #FF4444;
}
-.leftbutton img{
+.leftbutton img {
width: 32px;
height: 32px;
margin-left: 0px;
@@ -476,7 +517,8 @@ textarea{
vertical-align: middle;
background-color: #ffbc0d;
}
-.leftbutton:hover img{
+
+.leftbutton:hover img {
background-color: var(--background-color);
}
@@ -492,7 +534,7 @@ svg {
}
-main{
+main {
position: relative;
height: 95dvh;
overflow: auto;
@@ -502,54 +544,54 @@ main{
margin-right: 12px;
width: 60%;
background-color: var(--tl-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .025);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .025);
border: 1px solid var(--border-color);
}
-main h1{
- color:var(--text-color);
+main h1 {
+ color: var(--text-color);
font-size: 32px;
font-family: var(--Head-fonts), sans-serif;
}
-.userheader{
+.userheader {
margin: 12px;
border-radius: 10px;
width: auto;
- height:auto;
+ height: auto;
margin-bottom: 12px;
overflow-wrap: break-all;
}
-.userheader .hed img{
+.userheader .hed img {
object-fit: cover;
margin-top: 0px;
margin-bottom: 0px;
margin-left: auto;
margin-right: auto;
width: 100%;
- height:25vh;
+ height: 25vh;
border-radius: 10px;
}
-.userheader .icon{
+.userheader .icon {
margin-left: 24px;
margin-right: 24px;
display: flex;
width: auto;
}
-.userheader .icon img{
+.userheader .icon img {
object-fit: cover;
margin-top: -90px;
text-align: left;
width: 148px;
- height:148px;
+ height: 148px;
border-radius: 50%;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
}
-.userheader .icon h2 img{
+.userheader .icon h2 img {
margin-top: 0px;
margin-bottom: 0px;
margin-left: 4px;
@@ -560,18 +602,18 @@ main h1{
border-radius: 0px;
}
-.userheader h2{
+.userheader h2 {
word-wrap: break-word;
margin-left: 12px;
margin-top: auto;
margin-bottom: 12px;
- color:var(--text-color);
+ color: var(--text-color);
font-size: 32px;
font-family: var(--Text-fonts), sans-serif;
font-weight: 900;
}
-.userheader p{
+.userheader p {
word-wrap: break-word;
margin-left: 12px;
margin-right: auto;
@@ -583,7 +625,7 @@ main h1{
font-weight: 900;
}
-.userheader span{
+.userheader span {
word-wrap: break-word;
margin-left: 0px;
margin-right: auto;
@@ -595,12 +637,12 @@ main h1{
font-weight: 900;
}
-.userheader .profile{
+.userheader .profile {
max-height: 25dvh;
overflow: scroll;
}
-.userheader .profile p{
+.userheader .profile p {
text-align: left;
margin-top: 12px;
margin-bottom: auto;
@@ -608,12 +650,13 @@ main h1{
margin-right: 24px;
word-wrap: break-word;
font-size: 18px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
}
-.userheader .profile p img{
+
+.userheader .profile p img {
vertical-align: middle;
margin-top: auto;
margin-bottom: auto;
@@ -621,26 +664,27 @@ main h1{
margin-right: 4px;
height: 28px;
}
-.userheader .profile p a{
+
+.userheader .profile p a {
margin-top: auto;
margin-bottom: auto;
margin-left: auto;
font-size: 16px;
- color:var(--link-color);
+ color: var(--link-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.userheader .roleboxes{
+.userheader .roleboxes {
margin-left: 180px;
display: flex;
padding: 0px;
- flex-wrap : wrap;
+ flex-wrap: wrap;
}
-.userheader .rolebox{
+.userheader .rolebox {
margin: 4px 6px 4px 6px;
width: auto;
padding-left: auto;
@@ -648,13 +692,13 @@ main h1{
border-radius: 25px;
background-color: var(--background-color);
border: 1px solid var(--main-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
}
-.userheader .rolebox p{
+.userheader .rolebox p {
- color:var(--main-color);
+ color: var(--main-color);
margin-top: 2px;
margin-bottom: 2px;
margin-left: 10px;
@@ -666,20 +710,20 @@ main h1{
}
-.userheader .profile .hashtags{
+.userheader .profile .hashtags {
margin-top: auto;
margin-bottom: auto;
margin-left: 0px;
margin-right: 0px;
font-size: 16px;
- color:var(--main-color);
+ color: var(--main-color);
text-decoration: none;
font-family: var(--Mono-fonts), sans-serif;
font-weight: bold;
}
-.fzone{
+.fzone {
margin-left: 24px;
margin-right: 24px;
margin-bottom: 24px;
@@ -691,11 +735,11 @@ main h1{
padding-right: 12px;
}
-.fzone .follow .fbtn{
+.fzone .follow .fbtn {
cursor: pointer;
border: none;
display: block;
- width:120px;
+ width: 120px;
padding: 8px auto;
margin-left: auto;
@@ -710,30 +754,32 @@ main h1{
background-color: var(--main-color);
border-radius: 50px;
- color:var(--sub-color);
+ color: var(--sub-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.fzone .follow .fbtn:hover{
+
+.fzone .follow .fbtn:hover {
background-color: var(--main-color);
color: var(--sub-color);
- width:125px;
-}
-.fzone .follow .fbtn:active{
- width:115px;
+ width: 125px;
}
-.fzone .follow .fbtn_no{
+.fzone .follow .fbtn:active {
+ width: 115px;
+}
+
+.fzone .follow .fbtn_no {
cursor: pointer;
border: none;
display: block;
- width:120px;
+ width: 120px;
height: 24px;
padding: 8px auto;
@@ -749,31 +795,33 @@ main h1{
background-color: var(--sub-color);
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
border: 1px solid var(--main-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.fzone .follow .fbtn_no:hover{
+
+.fzone .follow .fbtn_no:hover {
background-color: var(--sub-color);
color: var(--main-color);
- width:125px;
-}
-.fzone .follow .fbtn_no:active{
- width:115px;
+ width: 125px;
}
-.fzone .follow .fbtn_un{
+.fzone .follow .fbtn_no:active {
+ width: 115px;
+}
+
+.fzone .follow .fbtn_un {
cursor: pointer;
border: none;
display: block;
- width:120px;
+ width: 120px;
padding: 8px auto;
margin-left: auto;
@@ -788,34 +836,36 @@ main h1{
background-color: var(--sub-color);
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
border: 1px solid var(--main-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.fzone .follow .fbtn_un:hover{
+
+.fzone .follow .fbtn_un:hover {
background-color: var(--sub-color);
color: var(--text-color);
- width:125px;
+ width: 125px;
}
-.fzone .follow .fbtn_un:active{
- width:115px;
+
+.fzone .follow .fbtn_un:active {
+ width: 115px;
}
-.fzone .follow .report{
+.fzone .follow .report {
cursor: pointer;
border: none;
display: block;
padding: 6px;
- width:24px;
+ width: 24px;
height: 24px;
margin-left: auto;
@@ -826,27 +876,30 @@ main h1{
background-color: var(--sub-color);
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
border: 1px solid var(--main-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.fzone .follow .report:hover{
+
+.fzone .follow .report:hover {
background-color: color-mix(in srgb, var(--tl-color) 90%, var(--error));
color: var(--error);
border: 1px solid var(--error);
- width:32px;
+ width: 32px;
}
-.fzone .follow .report:active{
- width:22px;
+
+.fzone .follow .report:active {
+ width: 22px;
}
-.fzone .follow .report svg{
+
+.fzone .follow .report svg {
width: 24px;
height: 24px;
margin-left: auto;
@@ -856,35 +909,36 @@ main h1{
fill: currentColor;
}
-.fzone .time{
+.fzone .time {
margin-top: auto;
margin-bottom: 0px;
margin-left: 0px;
margin-right: auto;
}
-.fzone .time p{
+
+.fzone .time p {
margin-top: 0px;
margin-bottom: 0px;
margin-right: 32px;
text-align: left;
font-size: 12px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
font-family: var(--Text-fonts), sans-serif;
}
-.fzone .time a{
+.fzone .time a {
margin-top: 0px;
margin-bottom: 0px;
text-align: left;
font-size: 12px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
font-family: var(--Text-fonts), sans-serif;
}
-.fzone .follow_yes{
+.fzone .follow_yes {
border: none;
display: block;
- width:auto;
+ width: auto;
height: auto;
margin-left: auto;
@@ -896,9 +950,10 @@ main h1{
background-color: var(--sub-color);
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
}
-.fzone .follow_yes p{
+
+.fzone .follow_yes p {
overflow-wrap: break-word;
margin: 0px;
margin-top: auto;
@@ -908,10 +963,11 @@ main h1{
font-size: 10px;
font-family: 'BIZUD Gothic', sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
}
-.select_utl{
+
+.select_utl {
margin: 0px;
background-color: var(--tl-color);
border: none;
@@ -919,7 +975,8 @@ main h1{
text-align: center;
display: flex;
}
-.select_utl .btn{
+
+.select_utl .btn {
display: block;
width: 25%;
line-height: 32px;
@@ -939,52 +996,61 @@ main h1{
border: none;
cursor: pointer;
}
-.select_utl .btmline{
+
+.select_utl .btmline {
color: var(--main-color);
border-bottom: 1px solid var(--main-color);
}
-.ads{
+.ads {
display: block;
position: relative;
animation: slideInY 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
margin: 12px;
border-radius: 10px;
padding: 0px;
- overflow:hidden;
+ overflow: hidden;
background-color: var(--background-color);
border: 1px solid var(--border-color);
width: auto;
}
+
@keyframes slideInY {
0% {
- transform: translateY(24px);
- opacity: 0;
+ transform: translateY(24px);
+ opacity: 0;
}
+
100% {
- transform: translateY(0px);
+ transform: translateY(0px);
}
- 40%,100% {
- opacity: 1;
+
+ 40%,
+ 100% {
+ opacity: 1;
}
}
-.ads a{
+
+.ads a {
margin: 0px;
padding: 0px;
}
-.ads a img{
+
+.ads a img {
object-fit: cover;
margin: 0px;
width: 100%;
height: auto;
- vertical-align:top;
+ vertical-align: top;
transition: all 0.5s ease;
}
-.ads a img:hover{
+
+.ads a img:hover {
cursor: pointer;
filter: saturate(125%) brightness(110%);
}
-.ueuse{
+
+.ueuse {
animation: slideInY 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
margin: 0px;
border-radius: 0px;
@@ -998,32 +1064,38 @@ main h1{
width: auto;
overflow: hidden;
}
-
+
@keyframes slideInY {
0% {
- transform: translateY(24px);
- opacity: 0;
+ transform: translateY(24px);
+ opacity: 0;
}
+
100% {
- transform: translateY(0px);
+ transform: translateY(0px);
}
- 40%,100% {
- opacity: 1;
+
+ 40%,
+ 100% {
+ opacity: 1;
}
}
-.ueuse .flebox{
+
+.ueuse .flebox {
display: flex;
flex-wrap: wrap;
}
-.ueuse .flebox img{
+
+.ueuse .flebox img {
object-fit: cover;
margin-left: -12px;
text-align: center;
width: 48px;
- height:48px;
+ height: 48px;
border-radius: 50%;
}
+
.ueuse .flebox a {
flex-shrink: 0;
margin-top: auto;
@@ -1036,7 +1108,7 @@ main h1{
font-weight: bold;
}
-.ueuse .flebox a .u_name img{
+.ueuse .flebox a .u_name img {
margin-top: 0px;
margin-bottom: 0px;
margin-left: 4px;
@@ -1050,56 +1122,60 @@ main h1{
-.ueuse .flebox .idbox{
+.ueuse .flebox .idbox {
margin-top: auto;
margin-bottom: auto;
margin-left: 6px;
- border-radius: 10px;
+ border-radius: 16px;
background-color: var(--background-color);
border: 1px solid var(--border-color);
}
-.ueuse .flebox .idbox a{
+
+.ueuse .flebox .idbox a {
margin-top: 6px;
margin-bottom: 6px;
margin-left: 8px;
margin-right: 8px;
text-align: center;
font-size: 12px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
}
-.ueuse .flebox .bot{
+.ueuse .flebox .bot {
margin-top: auto;
margin-bottom: auto;
- padding: 6px 8px;
+ padding: 6px 8px;
margin-left: 6px;
- border-radius: 10px;
- background-color: var(--sub-color);
+ border-radius: 16px;
+ background-color: var(--background-color);
border: 1px solid var(--border-color);
font-family: var(--Mono-fonts), sans-serif;
font-weight: bold;
text-align: center;
font-size: 12px;
- color:var(--main-color);
+ color: var(--subtext-color);
}
-.ueuse .content{
+
+.ueuse .content {
margin-left: 60px;
}
-.ueuse p{
- line-height:20px;
- overflow-wrap: break-word;
+
+.ueuse p {
+ line-height: 20px;
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: 0px;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
}
-.ueuse .inline{
+
+.ueuse .inline {
width: fit-content;
margin-left: 4px;
margin-right: 4px;
@@ -1117,7 +1193,7 @@ main h1{
vertical-align: top;
}
-.ueuse .codeblock{
+.ueuse .codeblock {
width: calc(100% - 12px);
margin-left: 0px;
margin-right: 0px;
@@ -1135,7 +1211,13 @@ main h1{
vertical-align: top;
}
-.ueuse .quote{
+.ueuse .codeblock code {
+ white-space: pre-wrap;
+ word-break: break-word;
+}
+
+
+.ueuse .quote {
width: fit-content;
border-left: 5px solid;
border-radius: 5px;
@@ -1145,13 +1227,13 @@ main h1{
padding-right: 6px;
padding-top: 4px;
padding-bottom: 4px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
}
-.ueuse .blur{
+.ueuse .blur {
position: relative;
background-color: #323232;
width: fit-content;
@@ -1161,16 +1243,25 @@ main h1{
padding-right: 2px;
padding-top: 3px;
padding-bottom: 3px;
- color: #323232;
+ color: transparent;
border-radius: 5px;
transition: 0.5s;
}
-.ueuse .blur:hover{
+
+.ueuse .blur:hover {
background-color: var(--ueuse-color);
color: var(--text-color);
}
-.ueuse .unixtime{
+.ueuse .blur * {
+ transition: 0.5s;
+ opacity: 0;
+}
+.ueuse .blur:hover * {
+ opacity: 1;
+}
+
+.ueuse .unixtime {
width: fit-content;
margin-left: 4px;
margin-right: 4px;
@@ -1189,54 +1280,54 @@ main h1{
vertical-align: top;
}
-.ueuse h1{
- overflow-wrap: break-word;
+.ueuse h1 {
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: 0px;
font-size: 48px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ueuse h2{
- overflow-wrap: break-word;
+.ueuse h2 {
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: 0px;
font-size: 32px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ueuse h3{
- overflow-wrap: break-word;
+.ueuse h3 {
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: 0px;
font-size: 24px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ueuse center{
- overflow-wrap: break-word;
+.ueuse center {
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: auto;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ueuse .mta{
+.ueuse .mta {
line-height: 30px;
background-color: var(--sub-color);
padding: 6px;
@@ -1246,13 +1337,14 @@ main h1{
margin-left: 3px;
margin-right: 3px;
font-size: 14px;
- color:var(--main-color);
+ color: var(--main-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
transition: all 250ms ease-out;
}
-.ueuse .mta img{
+
+.ueuse .mta img {
margin-top: auto;
margin-bottom: auto;
margin-left: 4px;
@@ -1260,23 +1352,25 @@ main h1{
height: 14px;
vertical-align: middle;
}
-.ueuse .mta:hover{
+
+.ueuse .mta:hover {
font-size: 14px;
background-color: var(--main-color);
- color:var(--sub-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
+ color: var(--sub-color);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
}
-.ueuse a{
+.ueuse a {
margin-top: auto;
margin-bottom: auto;
font-size: 16px;
- color:var(--link-color);
+ color: var(--link-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ueuse p img{
+
+.ueuse p img {
margin-top: auto;
margin-bottom: auto;
margin-left: 4px;
@@ -1285,7 +1379,7 @@ main h1{
vertical-align: middle;
}
-.ueuse h1 img{
+.ueuse h1 img {
margin-top: auto;
margin-bottom: auto;
margin-left: 4px;
@@ -1294,7 +1388,7 @@ main h1{
vertical-align: middle;
}
-.ueuse h2 img{
+.ueuse h2 img {
margin-top: auto;
margin-bottom: auto;
margin-left: 4px;
@@ -1303,7 +1397,7 @@ main h1{
vertical-align: middle;
}
-.ueuse h3 img{
+.ueuse h3 img {
margin-top: auto;
margin-bottom: auto;
margin-left: 4px;
@@ -1312,7 +1406,7 @@ main h1{
vertical-align: middle;
}
-.ueuse img{
+.ueuse img {
margin-left: 60px;
margin-top: auto;
margin-bottom: auto;
@@ -1321,35 +1415,40 @@ main h1{
vertical-align: middle;
}
-.ueuse .flebox .time{
+.ueuse .flebox .time {
margin-top: auto;
margin-bottom: auto;
margin-left: auto;
margin-right: 12px;
text-align: right;
font-size: 12px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
font-family: var(--Text-fonts), sans-serif;
}
-.ueuse .photo1 a{
+
+.ueuse .photo1 a {
width: 48%;
}
-.ueuse .photo2 a{
+
+.ueuse .photo2 a {
width: 49%;
}
-.ueuse .photo3 a{
+
+.ueuse .photo3 a {
width: 49%;
}
-.ueuse .photo3_btm a{
+
+.ueuse .photo3_btm a {
width: 100%;
margin-left: auto;
margin-right: auto;
}
-.ueuse .photo4 a{
+
+.ueuse .photo4 a {
width: 49%;
}
-.ueuse .photo1 a img{
+.ueuse .photo1 a img {
background: linear-gradient(45deg, #EEE 25%, transparent 25%, transparent 75%, #EEE 75%), linear-gradient(45deg, #EEE 25%, transparent 25%, transparent 75%, #EEE 75%);
background-color: #FFF;
background-size: 20px 20px;
@@ -1365,12 +1464,12 @@ main h1{
cursor: pointer;
}
-.ueuse .photo2{
+.ueuse .photo2 {
display: flex;
justify-content: space-between;
}
-.ueuse .photo2 a img{
+.ueuse .photo2 a img {
background: linear-gradient(45deg, #EEE 25%, transparent 25%, transparent 75%, #EEE 75%), linear-gradient(45deg, #EEE 25%, transparent 25%, transparent 75%, #EEE 75%);
background-color: #FFF;
background-size: 20px 20px;
@@ -1386,16 +1485,18 @@ main h1{
cursor: pointer;
}
-.ueuse .photo3{
+.ueuse .photo3 {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
-.ueuse .photo3_btm{
+
+.ueuse .photo3_btm {
display: block;
width: 100%;
}
-.ueuse .photo3 a img{
+
+.ueuse .photo3 a img {
background: linear-gradient(45deg, #EEE 25%, transparent 25%, transparent 75%, #EEE 75%), linear-gradient(45deg, #EEE 25%, transparent 25%, transparent 75%, #EEE 75%);
background-color: #FFF;
background-size: 20px 20px;
@@ -1410,7 +1511,8 @@ main h1{
border: 1px solid var(--border-color);
cursor: pointer;
}
-.ueuse .photo3_btm a img{
+
+.ueuse .photo3_btm a img {
background: linear-gradient(45deg, #EEE 25%, transparent 25%, transparent 75%, #EEE 75%), linear-gradient(45deg, #EEE 25%, transparent 25%, transparent 75%, #EEE 75%);
background-color: #FFF;
background-size: 20px 20px;
@@ -1425,12 +1527,14 @@ main h1{
border: 1px solid var(--border-color);
cursor: pointer;
}
-.ueuse .photo4{
+
+.ueuse .photo4 {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
-.ueuse .photo4 a img{
+
+.ueuse .photo4 a img {
background: linear-gradient(45deg, #EEE 25%, transparent 25%, transparent 75%, #EEE 75%), linear-gradient(45deg, #EEE 25%, transparent 25%, transparent 75%, #EEE 75%);
background-color: #FFF;
background-size: 20px 20px;
@@ -1445,7 +1549,8 @@ main h1{
border: 1px solid var(--border-color);
cursor: pointer;
}
-.ueuse .video1 video{
+
+.ueuse .video1 video {
object-fit: cover;
border-radius: 10px;
margin-top: 12px;
@@ -1455,12 +1560,14 @@ main h1{
height: 350px;
border: 1px solid var(--border-color);
}
-.ueuse .youtube_and_nicovideo_player{
+
+.ueuse .youtube_and_nicovideo_player {
margin-top: 12px;
width: 100%;
height: fit-content;
}
-.ueuse .youtube_and_nicovideo_player iframe{
+
+.ueuse .youtube_and_nicovideo_player iframe {
border: none;
width: 100%;
aspect-ratio: 16 / 9;
@@ -1468,8 +1575,8 @@ main h1{
border: 1px solid var(--border-color);
}
-.ueuse .abi{
- margin-left:auto;
+.ueuse .abi {
+ margin-left: auto;
margin-right: auto;
margin-top: 12px;
margin-bottom: 12px;
@@ -1484,20 +1591,20 @@ main h1{
}
-.ueuse .abi p{
- line-height:20px;
- overflow-wrap: break-word;
+.ueuse .abi p {
+ line-height: 20px;
+ overflow-wrap: break-word;
margin-top: 0px;
margin-bottom: 0px;
margin-left: auto;
font-size: 14px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
}
-.ueuse .abi .back{
+.ueuse .abi .back {
background-color: var(--sub-color);
padding: 12px;
border-radius: 7px;
@@ -1505,18 +1612,19 @@ main h1{
margin-bottom: 12px;
}
-.ueuse .abi .back h1{
- overflow-wrap: break-word;
+.ueuse .abi .back h1 {
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: auto;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ueuse .abi .back h1 img{
+
+.ueuse .abi .back h1 img {
margin-top: auto;
margin-bottom: auto;
margin-left: 4px;
@@ -1525,7 +1633,7 @@ main h1{
vertical-align: middle;
}
-.ueuse .abi h1{
+.ueuse .abi h1 {
overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
@@ -1536,7 +1644,8 @@ main h1{
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ueuse .abi h2{
+
+.ueuse .abi h2 {
overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
@@ -1547,7 +1656,8 @@ main h1{
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ueuse .abi h3{
+
+.ueuse .abi h3 {
overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
@@ -1558,27 +1668,30 @@ main h1{
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ueuse .abi .h3s{
- overflow-wrap: break-word;
+
+.ueuse .abi .h3s {
+ overflow-wrap: break-word;
margin-top: 12px;
margin-bottom: auto;
margin-left: auto;
font-size: 12px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ueuse .favbox{
+
+.ueuse .favbox {
display: flex;
margin-left: 0px;
width: 100%;
}
-.ueuse .favbox .favbtn{
+
+.ueuse .favbox .favbtn {
cursor: pointer;
border: none;
display: block;
- width:auto;
+ width: auto;
padding: 8px auto;
margin-left: 0px;
@@ -1595,38 +1708,41 @@ main h1{
background-color: transparent;
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: all 250ms ease-out;
}
-.ueuse .favbox .favbtn:hover{
+
+.ueuse .favbox .favbtn:hover {
cursor: pointer;
border: none;
display: block;
- width:auto;
+ width: auto;
background-color: var(--main-color);
border-radius: 50px;
- color: var(--sub-color);;
+ color: var(--sub-color);
+ ;
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.ueuse .favbox .favbtn_after{
+
+.ueuse .favbox .favbtn_after {
cursor: pointer;
border: none;
display: block;
- width:auto;
+ width: auto;
padding: 8px auto;
margin-left: 0px;
@@ -1644,14 +1760,15 @@ main h1{
background-color: var(--main-color);
border-radius: 50px;
- color:var(--sub-color);
+ color: var(--sub-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: all 250ms ease-out
}
+
.ueuse .favbox .favbtn svg {
margin-top: -4px;
margin-right: 4px;
@@ -1660,6 +1777,7 @@ main h1{
fill: currentColor;
transition: all 250ms ease-out;
}
+
.ueuse .favbox .favbtn_after svg {
margin-top: -4px;
margin-right: 4px;
@@ -1670,11 +1788,11 @@ main h1{
}
-.ueuse .favbox .tuduki{
+.ueuse .favbox .tuduki {
cursor: pointer;
border: none;
display: block;
- width:auto;
+ width: auto;
margin-left: 0px;
margin-right: 12px;
@@ -1691,19 +1809,20 @@ main h1{
background-color: transparent;
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: all 250ms ease-out;
}
-.ueuse .favbox .tuduki:hover{
+
+.ueuse .favbox .tuduki:hover {
cursor: pointer;
border: none;
display: block;
- width:auto;
+ width: auto;
margin-left: 0px;
margin-right: 12px;
margin-top: 2px;
@@ -1716,26 +1835,27 @@ main h1{
background-color: var(--main-color);
border-radius: 50px;
- color:var(--sub-color);
+ color: var(--sub-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
+
.ueuse .favbox .tuduki svg {
fill: currentColor;
transition: all 250ms ease-out;
}
-.ueuse .favbox .reuse{
+.ueuse .favbox .reuse {
cursor: pointer;
border: none;
display: block;
- width:auto;
+ width: auto;
margin-left: 0px;
margin-right: 12px;
@@ -1751,38 +1871,40 @@ main h1{
background-color: transparent;
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: all 250ms ease-out;
}
-.ueuse .favbox .reuse:hover{
+.ueuse .favbox .reuse:hover {
background-color: var(--main-color);
- color:var(--sub-color);
+ color: var(--sub-color);
font-family: var(--Head-fonts), sans-serif;
transition: all 250ms ease-out;
}
+
.ueuse .favbox .reuse svg {
width: 24px;
height: 26px;
fill: currentColor;
transition: all 250ms ease-out;
}
-.ueuse .favbox .reuse_after{
+
+.ueuse .favbox .reuse_after {
background-color: var(--main-color);
- color:var(--sub-color);
+ color: var(--sub-color);
transition: all 250ms ease-out
}
-.ueuse .favbox .delbtn{
+.ueuse .favbox .delbtn {
cursor: pointer;
border: none;
display: block;
- width:fit-content;
+ width: fit-content;
padding: 2px 8px;
margin-left: 6px;
@@ -1801,7 +1923,7 @@ main h1{
transition: all 250ms ease-out;
}
-.ueuse .favbox .delbtn:hover{
+.ueuse .favbox .delbtn:hover {
cursor: pointer;
border: none;
display: block;
@@ -1813,10 +1935,11 @@ main h1{
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: all 250ms ease-out;
}
+
.ueuse .favbox .delbtn svg {
margin-top: -6px;
margin-right: 0px;
@@ -1826,11 +1949,11 @@ main h1{
transition: all 250ms ease-out;
}
-.ueuse .favbox .etcbtn{
+.ueuse .favbox .etcbtn {
cursor: pointer;
border: none;
display: block;
- width:fit-content;
+ width: fit-content;
padding: 2px 8px;
margin-left: 6px;
@@ -1849,12 +1972,13 @@ main h1{
transition: all 250ms ease-out;
}
-.ueuse .favbox .etcbtn:hover{
+.ueuse .favbox .etcbtn:hover {
background-color: var(--main-color);
color: var(--sub-color);
font-family: var(--Head-fonts), sans-serif;
transition: all 250ms ease-out;
}
+
.ueuse .favbox .etcbtn svg {
margin-top: -12px;
margin-right: 0px;
@@ -1865,11 +1989,11 @@ main h1{
}
-.ueuse .favbox .addabi{
+.ueuse .favbox .addabi {
cursor: pointer;
border: none;
display: block;
- width:auto;
+ width: auto;
padding: 8px auto;
margin-left: 6px;
@@ -1887,22 +2011,22 @@ main h1{
background-color: transparent;
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.ueuse .favbox .addabi:hover{
+.ueuse .favbox .addabi:hover {
cursor: pointer;
border: none;
display: block;
- width:auto;
+ width: auto;
margin-left: 6px;
margin-right: 6px;
@@ -1918,16 +2042,18 @@ main h1{
background-color: var(--main-color);
border-radius: 50px;
- color: var(--sub-color);;
+ color: var(--sub-color);
+ ;
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
+
.ueuse .favbox .addabi svg {
margin-top: -12px;
margin-right: 0px;
@@ -1937,11 +2063,11 @@ main h1{
transition: all 250ms ease-out;
}
-.ueuse .favbox .share{
+.ueuse .favbox .share {
cursor: pointer;
border: none;
display: block;
- width:auto;
+ width: auto;
padding: 8px auto;
margin-left: auto;
@@ -1959,21 +2085,22 @@ main h1{
background-color: var(--sub-color);
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.ueuse .favbox .share:hover{
+
+.ueuse .favbox .share:hover {
cursor: pointer;
border: none;
display: block;
- width:auto;
+ width: auto;
margin-left: auto;
margin-right: 6px;
@@ -1989,16 +2116,18 @@ main h1{
background-color: var(--main-color);
border-radius: 50px;
- color: var(--sub-color);;
+ color: var(--sub-color);
+ ;
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
+
.ueuse .favbox .share svg {
margin-top: -6px;
margin-right: 0px;
@@ -2009,11 +2138,11 @@ main h1{
transition: all 250ms ease-out;
}
-.ueuse .favbox .bookmark{
+.ueuse .favbox .bookmark {
cursor: pointer;
border: none;
display: block;
- width:auto;
+ width: auto;
padding: 8px auto;
margin-left: auto;
@@ -2031,38 +2160,42 @@ main h1{
background-color: transparent;
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.ueuse .favbox .bookmark:hover{
+
+.ueuse .favbox .bookmark:hover {
cursor: pointer;
border: none;
display: block;
- width:auto;
+ width: auto;
background-color: var(--main-color);
border-radius: 50px;
- color: var(--sub-color);;
+ color: var(--sub-color);
+ ;
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.ueuse .favbox .bookmark_after{
+
+.ueuse .favbox .bookmark_after {
background-color: var(--main-color);
- color: var(--sub-color);;
+ color: var(--sub-color);
+ ;
}
.ueuse .favbox .bookmark svg {
@@ -2075,12 +2208,12 @@ main h1{
transition: all 250ms ease-out;
}
-.ueuse .favbox img{
+.ueuse .favbox img {
margin-left: 0px;
width: 24px;
}
-.ueuse hr{
+.ueuse hr {
height: 0;
margin-top: 12px;
margin-bottom: 12px;
@@ -2088,18 +2221,20 @@ main h1{
border: 0;
border-top: 1px solid var(--subtext-color);
}
-.ueuse .hashtags{
+
+.ueuse .hashtags {
margin-top: auto;
margin-bottom: auto;
margin-left: 0px;
margin-right: 0px;
font-size: 16px;
- color:var(--main-color);
+ color: var(--main-color);
text-decoration: none;
font-family: var(--Mono-fonts), sans-serif;
font-weight: normal;
}
-.ueuse .nsfw{
+
+.ueuse .nsfw {
display: flex;
overflow: hidden;
margin-top: 12px;
@@ -2109,52 +2244,60 @@ main h1{
padding: 12px;
border-radius: 10px;
}
-.ueuse .nsfw .btnzone{
+
+.ueuse .nsfw .btnzone {
display: block;
margin-left: auto;
margin-top: auto;
margin-right: 0px;
margin-bottom: -6px;
}
-.ueuse .nsfw p{
+
+.ueuse .nsfw p {
margin-left: 0px;
}
-.ueuse .nsfw_main{
+
+.ueuse .nsfw_main {
border: 1px solid var(--border-color);
overflow: hidden;
border-radius: 10px;
}
-.ueuse .nsfw_main .block{
+
+.ueuse .nsfw_main .block {
filter: brightness(70%) blur(32px) saturate(70%);
pointer-events: none;
}
-.ueuse .nsfw_main .clear{
+
+.ueuse .nsfw_main .clear {
filter: brightness(100%) blur(0px) saturate(100%);
}
-.ueuse .profilebox{
+.ueuse .profilebox {
max-height: 64px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
-.ueuse .profilebox p{
- line-height:20px;
- overflow-wrap: break-word;
+
+.ueuse .profilebox p {
+ line-height: 20px;
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: 24px;
margin-right: 24px;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ueuse .headbox a{
+
+.ueuse .headbox a {
margin: 0px;
}
-.ueuse .headbox img{
+
+.ueuse .headbox img {
overflow: hidden;
object-fit: cover;
margin-left: 0px;
@@ -2165,20 +2308,23 @@ main h1{
height: 74px;
border-radius: 7px;
}
-.ueuse .flebox .user{
+
+.ueuse .flebox .user {
margin-bottom: 12px;
display: flex;
flex-wrap: wrap;
}
-.ueuse .flebox .user img{
+
+.ueuse .flebox .user img {
object-fit: cover;
margin-top: -54px;
margin-left: 12px;
text-align: center;
width: 74px;
- height:74px;
+ height: 74px;
border-radius: 50%;
}
+
.ueuse .flebox .user a {
flex-shrink: 0;
margin-top: auto;
@@ -2190,29 +2336,32 @@ main h1{
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ueuse .flebox .user .idbox{
+
+.ueuse .flebox .user .idbox {
margin-top: auto;
margin-bottom: auto;
margin-left: 6px;
- border-radius: 10px;
+ border-radius: 16px;
background-color: var(--background-color);
border: 1px solid var(--border-color);
}
-.ueuse .flebox .user .idbox a{
+
+.ueuse .flebox .user .idbox a {
margin-top: 6px;
margin-bottom: 6px;
margin-left: 8px;
margin-right: 8px;
text-align: center;
font-size: 12px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
}
-.ueuse .flebox .user .bot{
+
+.ueuse .flebox .user .bot {
margin-top: auto;
margin-bottom: auto;
- padding: 6px 8px;
+ padding: 6px 8px;
margin-left: 6px;
border-radius: 10px;
background-color: var(--sub-color);
@@ -2221,9 +2370,10 @@ main h1{
font-weight: bold;
text-align: center;
font-size: 12px;
- color:var(--main-color);
+ color: var(--main-color);
}
-.ueuse .flebox .user .u_name a img{
+
+.ueuse .flebox .user .u_name a img {
margin-top: 0px;
margin-bottom: 0px;
margin-left: 4px;
@@ -2233,8 +2383,9 @@ main h1{
vertical-align: text-top;
border-radius: 0px;
}
-.ueuse .reuse_box{
- margin-left:auto;
+
+.ueuse .reuse_box {
+ margin-left: auto;
margin-right: auto;
margin-top: 12px;
margin-bottom: 12px;
@@ -2244,20 +2395,23 @@ main h1{
border: 1px solid var(--border-color);
width: auto;
}
-.ueuse .reuse_box .reuse_flebox{
+
+.ueuse .reuse_box .reuse_flebox {
display: flex;
flex-wrap: wrap;
margin-bottom: 12px;
}
-.ueuse .reuse_box .reuse_flebox img{
+
+.ueuse .reuse_box .reuse_flebox img {
object-fit: cover;
margin-left: -6px;
text-align: center;
width: 32px;
- height:32px;
+ height: 32px;
border-radius: 50%;
}
+
.ueuse .reuse_box .reuse_flebox a {
flex-shrink: 0;
margin-top: auto;
@@ -2266,7 +2420,8 @@ main h1{
font-size: 16px;
color: var(--text-color);
}
-.ueuse .reuse_box .reuse_flebox a .u_name img{
+
+.ueuse .reuse_box .reuse_flebox a .u_name img {
margin-top: 0px;
margin-bottom: 0px;
margin-left: 4px;
@@ -2276,7 +2431,8 @@ main h1{
vertical-align: text-top;
border-radius: 0px;
}
-.ueuse .reuse_box .reuse_flebox .idbox{
+
+.ueuse .reuse_box .reuse_flebox .idbox {
margin-top: auto;
margin-bottom: auto;
margin-left: 6px;
@@ -2284,7 +2440,8 @@ main h1{
background-color: var(--background-color);
border: 1px solid var(--border-color);
}
-.ueuse .reuse_box .reuse_flebox .idbox a{
+
+.ueuse .reuse_box .reuse_flebox .idbox a {
margin-top: 3px;
margin-bottom: 3px;
margin-left: 4px;
@@ -2292,12 +2449,13 @@ main h1{
text-align: center;
font-size: 12px;
text-decoration: none;
- color:var(--subtext-color);
+ color: var(--subtext-color);
font-family: var(--Text-fonts), sans-serif;
}
-.ueuse .reuse_box p{
- line-height:20px;
- overflow-wrap: break-word;
+
+.ueuse .reuse_box p {
+ line-height: 20px;
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: 0px;
@@ -2306,53 +2464,62 @@ main h1{
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
}
-.ueuse .reuse_box h1{
+
+.ueuse .reuse_box h1 {
margin-left: 0px;
font-size: 32px;
}
-.ueuse .reuse_box h2{
+
+.ueuse .reuse_box h2 {
margin-left: 0px;
font-size: 26px;
}
-.ueuse .reuse_box h3{
+
+.ueuse .reuse_box h3 {
margin-left: 0px;
font-size: 20px;
}
-.ueuse .reuse_box h1 img{
+
+.ueuse .reuse_box h1 img {
height: 48px;
}
-.ueuse .reuse_box h2 img{
+
+.ueuse .reuse_box h2 img {
height: 32px;
}
-.ueuse .reuse_box h3 img{
+
+.ueuse .reuse_box h3 img {
height: 24px;
}
-.ueuse .reuse_box img{
+
+.ueuse .reuse_box img {
height: 24px;
}
-.ueuse .reuse_box .nsfw{
+
+.ueuse .reuse_box .nsfw {
margin-top: 0px;
margin-bottom: 12px;
border: 1px solid var(--border-color);
background-color: var(--tl-color);
border-radius: 6px;
}
-.ueuse .reuse_box .nsfw_main{
+
+.ueuse .reuse_box .nsfw_main {
border-radius: 6px;
}
-.tokonone p{
+.tokonone p {
text-align: center;
margin-top: 64px;
margin-bottom: 64px;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.send_progress{
+.send_progress {
display: none;
width: 100%;
height: 2px;
@@ -2361,24 +2528,28 @@ main h1{
box-shadow: 0 -1px 0 var(--border-color);
animation: progressView 250ms ease-out 1 forwards;
}
-.send_progress .per{
+
+.send_progress .per {
width: 0px;
margin: 0px;
height: 2px;
background-color: var(--main-color);
transition: width 500ms ease-in;
}
+
@keyframes progressView {
0% {
height: 0px;
opacity: 0;
}
+
100% {
height: 2px;
opacity: 1;
}
}
-.sendbox{
+
+.sendbox {
margin: 0px;
border-radius: 0px;
padding-left: 24px;
@@ -2391,39 +2562,39 @@ main h1{
width: auto;
}
-.sendbox .fx{
+.sendbox .fx {
display: flex;
width: 100%;
}
-.sendbox .fx img{
+.sendbox .fx img {
object-fit: cover;
margin-left: -12px;
text-align: center;
width: 58px;
- height:58px;
+ height: 58px;
border-radius: 50%;
}
-.sendbox p{
- line-height:20px;
+.sendbox p {
+ line-height: 20px;
text-align: left;
margin-top: 12px;
margin-bottom: 12px;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.sendbox textarea{
+.sendbox textarea {
background-color: var(--ueuse-color);
text-align: left;
margin-left: auto;
margin-right: auto;
- width:100%;
- height:90px;
+ width: 100%;
+ height: 90px;
border-radius: 10px;
outline: none;
border: none;
@@ -2433,23 +2604,24 @@ main h1{
font-weight: normal;
}
-.sendbox .fxbox{
+.sendbox .fxbox {
display: flex;
flex-wrap: wrap;
}
-.sendbox label > input {
- display:none; /* アップロードボタンのスタイルを無効にする */
+.sendbox label>input {
+ display: none;
+ /* アップロードボタンのスタイルを無効にする */
}
-.sendbox label{
+.sendbox label {
cursor: pointer;
border: none;
display: block;
width: 24px;
height: 24px;
padding: 6px 6px;
-
+
margin-left: 0px;
margin-right: 12px;
@@ -2460,45 +2632,50 @@ main h1{
background-color: var(--main-color);
border-radius: 50px;
- color:var(--sub-color);
+ color: var(--sub-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
}
-.sendbox label:hover{
+
+.sendbox label:hover {
background-color: var(--main-color);
color: var(--sub-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
}
-.sendbox label:active{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
+
+.sendbox label:active {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
}
-.sendbox .label_set{
+
+.sendbox .label_set {
background-color: var(--sub-color);
color: var(--main-color);
border: 1px solid var(--main-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .0);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .0);
}
-.sendbox label svg{
+
+.sendbox label svg {
margin: auto;
fill: currentColor;
- vertical-align:top;
+ vertical-align: top;
width: 24px;
height: 24px;
}
-.sendbox .fxbox p{
- line-height:20px;
+
+.sendbox .fxbox p {
+ line-height: 20px;
text-align: left;
margin-top: auto;
margin-bottom: auto;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
@@ -2513,16 +2690,17 @@ main h1{
opacity: 0;
cursor: pointer;
transition: all 250ms ease-out;
-}
+}
+
.sendbox .fxbox .nsfw_label {
cursor: pointer;
border: none;
display: block;
- width:6%;
+ width: 6%;
height: 24px;
padding: 6px 6px;
-
+
background-color: var(--main-color);
width: auto;
@@ -2532,24 +2710,27 @@ main h1{
border-radius: 50px;
transition: all 250ms ease-out;
}
-.sendbox .fxbox .nsfw_input:checked + .nsfw_label {
+
+.sendbox .fxbox .nsfw_input:checked+.nsfw_label {
background-color: var(--error);
color: color-mix(in srgb, var(--tl-color) 90%, var(--error));
-}
+}
+
.sendbox .fxbox .nsfw_button {
position: relative;
width: auto;
height: auto;
}
-.sendbox .fxbox .nsfw_label svg{
+
+.sendbox .fxbox .nsfw_label svg {
margin: auto;
fill: currentColor;
- vertical-align:top;
+ vertical-align: top;
width: 24px;
height: 24px;
}
-.sendbox .fxbox .moji_cnt{
+.sendbox .fxbox .moji_cnt {
margin-top: auto;
margin-bottom: auto;
margin-left: auto;
@@ -2560,11 +2741,12 @@ main h1{
font-family: var(--Mono-fonts), sans-serif;
font-weight: normal;
}
-.sendbox .fxbox .red{
+
+.sendbox .fxbox .red {
color: var(--error);
}
-.sendbox .emoji_picker{
+.sendbox .emoji_picker {
animation: Up_to_down_slideY 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
margin-left: auto;
margin-right: auto;
@@ -2582,7 +2764,8 @@ main h1{
overflow-x: hidden;
overflow-y: scroll;
}
-.sendbox .emoji_picker p{
+
+.sendbox .emoji_picker p {
margin: 0px;
word-wrap: break-word;
line-height: 20px;
@@ -2591,12 +2774,14 @@ main h1{
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
}
-.sendbox .emoji_picker .emoji_picker_flex{
+
+.sendbox .emoji_picker .emoji_picker_flex {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
-.sendbox .emoji_picker .emoji_picker_flex .one_emoji{
+
+.sendbox .emoji_picker .emoji_picker_flex .one_emoji {
cursor: pointer;
margin: 6px;
width: 64px;
@@ -2605,36 +2790,43 @@ main h1{
border-radius: 8px;
transition: all 250ms ease-out;
}
-.sendbox .emoji_picker .emoji_picker_flex .one_emoji img{
+
+.sendbox .emoji_picker .emoji_picker_flex .one_emoji img {
margin: 8px;
width: 48px;
height: 48px;
- object-fit:contain;
+ object-fit: contain;
}
-.sendbox .emoji_picker .emoji_picker_flex .one_emoji:hover{
+
+.sendbox .emoji_picker .emoji_picker_flex .one_emoji:hover {
background-color: color-mix(in srgb, var(--tl-color) 95%, #000);
}
-.sendbox .emoji_picker .tokonone p{
+
+.sendbox .emoji_picker .tokonone p {
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
+
@keyframes Up_to_down_slideY {
0% {
- transform: translateY(-12px);
- opacity: 0;
+ transform: translateY(-12px);
+ opacity: 0;
}
+
100% {
- transform: translateY(0px);
+ transform: translateY(0px);
}
- 40%,100% {
- opacity: 1;
+
+ 40%,
+ 100% {
+ opacity: 1;
}
}
-.sendbox .harmful_notice{
+.sendbox .harmful_notice {
animation: Up_to_down_slideY 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
margin-left: auto;
margin-right: auto;
@@ -2649,7 +2841,8 @@ main h1{
overflow-x: hidden;
overflow-y: scroll;
}
-.sendbox .harmful_notice p{
+
+.sendbox .harmful_notice p {
margin: 0px;
word-wrap: break-word;
line-height: 16px;
@@ -2659,11 +2852,11 @@ main h1{
font-weight: normal;
}
-.ueusebtn{
+.ueusebtn {
cursor: pointer;
border: none;
display: block;
- width:20%;
+ width: 20%;
padding: 8px auto;
margin-left: 6px;
margin-right: 0px;
@@ -2675,34 +2868,38 @@ main h1{
background-color: var(--main-color);
border-radius: 50px;
- color:var(--sub-color);
+ color: var(--sub-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.ueusebtn:hover{
+
+.ueusebtn:hover {
background-color: var(--main-color);
color: var(--sub-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
- width:21%;
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
+ width: 21%;
}
-.ueusebtn:active{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .0);
- width:19%;
+
+.ueusebtn:active {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .0);
+ width: 19%;
}
-.ueusebtn:disabled{
+
+.ueusebtn:disabled {
pointer-events: none;
background-color: #CCC;
color: #FFF;
}
+
/*--------------------------*/
-.ueuse2{
+.ueuse2 {
margin: 12px;
border-radius: 10px;
padding-left: 24px;
@@ -2713,71 +2910,77 @@ main h1{
border: 1px solid var(--border-color);
width: auto;
}
-.ueuse2 .flebox{
+
+.ueuse2 .flebox {
display: flex;
}
-.ueuse2 .flebox img{
+
+.ueuse2 .flebox img {
object-fit: cover;
margin-left: -12px;
text-align: center;
width: 64px;
- height:64px;
+ height: 64px;
border-radius: 50%;
}
-.ueuse2 .flebox a{
+
+.ueuse2 .flebox a {
margin-top: auto;
margin-bottom: auto;
margin-left: 12px;
font-size: 26px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ueuse2 .flebox .idbox{
+.ueuse2 .flebox .idbox {
margin-top: auto;
margin-bottom: auto;
margin-left: 6px;
- border-radius: 10px;
+ border-radius: 16px;
background-color: var(--background-color);
border: 1px solid var(--border-color);
}
-.ueuse2 .flebox .idbox a{
+
+.ueuse2 .flebox .idbox a {
margin-top: 6px;
margin-bottom: 6px;
margin-left: 8px;
margin-right: 8px;
text-align: center;
font-size: 16px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
}
-.ueuse2 p{
- overflow-wrap: break-word;
+.ueuse2 p {
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: 80px;
font-size: 22px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ueuse2 a{
+
+.ueuse2 a {
margin-top: auto;
margin-bottom: auto;
margin-left: 6px;
font-size: 16px;
- color:var(--link-color);
+ color: var(--link-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ueuse2 p img{
+
+.ueuse2 p img {
margin-top: auto;
margin-bottom: auto;
margin-left: 4px;
@@ -2786,18 +2989,18 @@ main h1{
vertical-align: middle;
}
-.ueuse2 .flebox .time{
+.ueuse2 .flebox .time {
margin-top: auto;
margin-bottom: auto;
margin-left: auto;
margin-right: 12px;
text-align: right;
font-size: 12px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
font-family: var(--Text-fonts), sans-serif;
}
-.ueuse2 .photo1 img{
+.ueuse2 .photo1 img {
object-fit: cover;
border-radius: 10px;
margin-top: 12px;
@@ -2808,11 +3011,11 @@ main h1{
border: 1px solid var(--border-color);
}
-.ueuse2 .photo2{
+.ueuse2 .photo2 {
display: flex;
}
-.ueuse2 .photo2 img{
+.ueuse2 .photo2 img {
object-fit: cover;
border-radius: 10px;
margin-top: 12px;
@@ -2823,7 +3026,7 @@ main h1{
border: 1px solid var(--border-color);
}
-.ueuse2 .video1 video{
+.ueuse2 .video1 video {
object-fit: cover;
border-radius: 10px;
margin-top: 12px;
@@ -2834,7 +3037,7 @@ main h1{
border: 1px solid var(--border-color);
}
-.formarea{
+.formarea {
margin-bottom: 16px;
padding-top: 16px;
padding-bottom: 16px;
@@ -2842,51 +3045,53 @@ main h1{
padding-right: 32px;
border-radius: 15px;
background-color: var(--tl-color);
- box-shadow:none;
+ box-shadow: none;
text-align: left;
}
-.formarea p{
+.formarea p {
line-height: 20px;
- overflow-wrap: break-word;
+ overflow-wrap: break-word;
margin-top: 12px;
margin-bottom: 12px;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
}
-.formarea li{
+
+.formarea li {
line-height: 20px;
- overflow-wrap: break-word;
+ overflow-wrap: break-word;
margin-top: 12px;
margin-bottom: 12px;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.formarea .iconimg{
+.formarea .iconimg {
margin-left: auto;
margin-right: auto;
text-align: center;
}
-.formarea .iconimg img{
+.formarea .iconimg img {
object-fit: cover;
margin-top: -64px;
margin-left: auto;
margin-right: auto;
text-align: center;
width: 100px;
- height:100px;
+ height: 100px;
border-radius: 50%;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
}
-.formarea .hed img{
+
+.formarea .hed img {
object-fit: cover;
object-fit: cover;
margin-top: 0px;
@@ -2894,25 +3099,25 @@ main h1{
margin-left: auto;
margin-right: auto;
width: 100%;
- height:25vh;
+ height: 25vh;
border-radius: 10px;
}
-.formarea .authzone{
+.formarea .authzone {
width: 100%;
margin-left: auto;
margin-right: auto;
text-align: center;
}
-.formarea .sub{
+.formarea .sub {
display: flex;
margin: 48px;
margin-left: auto;
margin-right: auto;
}
-.formarea .p2{
+.formarea .p2 {
margin-top: 0px;
margin-bottom: 10px;
word-wrap: break-word;
@@ -2923,7 +3128,7 @@ main h1{
font-weight: normal;
}
-.formarea .update_box{
+.formarea .update_box {
margin: 12px 0px;
border-radius: 10px;
padding: 24px;
@@ -2931,21 +3136,24 @@ main h1{
border: 1px solid var(--border-color);
width: auto;
}
-.formarea .update_box h1{
+
+.formarea .update_box h1 {
margin: 0px 0px 12px 0px;
text-align: left;
font-size: 32px;
- color:var(--text-color);
+ color: var(--text-color);
font-family: var(--Text-fonts), sans-serif;
}
-.formarea .update_box h2{
+
+.formarea .update_box h2 {
margin: 12px 0px;
text-align: left;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
font-family: var(--Mono-fonts), sans-serif;
}
-.formarea .update_box .update_text{
+
+.formarea .update_box .update_text {
margin: 12px 0px;
border-radius: 6px;
padding: 12px;
@@ -2953,21 +3161,24 @@ main h1{
border: 1px solid var(--border-color);
width: auto;
}
-.formarea .update_box .update_text p{
+
+.formarea .update_box .update_text p {
margin: 2px 0px;
text-align: left;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
font-family: var(--Text-fonts), sans-serif;
}
-.formarea table{
+
+.formarea table {
width: 100%;
text-align: left;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
font-family: var(--Mono-fonts), sans-serif;
}
-.formarea .emojipreview{
+
+.formarea .emojipreview {
margin-left: auto;
margin-right: auto;
width: 50%;
@@ -2975,7 +3186,8 @@ main h1{
display: flex;
justify-content: space-between;
}
-.formarea .emojiimg{
+
+.formarea .emojiimg {
margin-left: auto;
margin-right: auto;
text-align: center;
@@ -2983,16 +3195,19 @@ main h1{
height: fit-content;
padding: 8px;
border-radius: 6px;
- box-shadow:0 0px 24px 0 rgba(0, 0, 0, .1)
+ box-shadow: 0 0px 24px 0 rgba(0, 0, 0, .1)
}
-.formarea .light{
+
+.formarea .light {
background-color: var(--ueuse-color);
}
-.formarea .dark{
+
+.formarea .dark {
background-color: var(--dark-sub-color);
}
-.formarea .emojiimg img{
- vertical-align:top;
+
+.formarea .emojiimg img {
+ vertical-align: top;
object-fit: cover;
margin-left: auto;
margin-right: auto;
@@ -3002,7 +3217,7 @@ main h1{
border-radius: 0px;
}
-.p2{
+.p2 {
margin-top: 0px;
margin-bottom: 10px;
word-wrap: break-word;
@@ -3014,9 +3229,11 @@ main h1{
}
label>input {
- display:none; /* アップロードボタンのスタイルを無効にする */
+ display: none;
+ /* アップロードボタンのスタイルを無効にする */
}
-.imgbtn{
+
+.imgbtn {
cursor: pointer;
border: none;
display: block;
@@ -3028,30 +3245,32 @@ label>input {
background-color: var(--main-color);
border-radius: 50px;
- color:var(--sub-color);
+ color: var(--sub-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.imgbtn:hover{
+
+.imgbtn:hover {
background-color: var(--main-color);
color: var(--sub-color);
padding: 4px 22px;
}
-.imgbtn:active{
+
+.imgbtn:active {
padding: 4px 12px;
}
-.imgbtn2{
+.imgbtn2 {
cursor: pointer;
border: none;
display: block;
- width:fit-content;
+ width: fit-content;
padding: 4px 16px;
margin-top: -64px;
margin-left: 12px;
@@ -3060,22 +3279,24 @@ label>input {
background-color: var(--main-color);
border-radius: 50px;
- color:var(--sub-color);
+ color: var(--sub-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.imgbtn2:hover{
+
+.imgbtn2:hover {
background-color: var(--main-color);
color: var(--sub-color);
padding: 4px 22px;
}
-.imgebtn2:active{
+
+.imgebtn2:active {
padding: 4px 12px;
}
@@ -3088,13 +3309,14 @@ label>input {
height: 100%;
background-color: rgba(0, 0, 0, 0.25);
backdrop-filter: blur(5px);
- z-index: 9999;
+ z-index: 10000;
transition: all 250ms ease-out;
}
.show {
display: block;
}
+
.modal-content {
background-color: var(--background-color);
padding: 16px;
@@ -3106,32 +3328,34 @@ label>input {
left: 40%;
right: 40%;
transform: translate(-50%, -50%);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
overflow: scroll;
}
-.modal-content textarea{
+.modal-content textarea {
background-color: var(--background-color);
text-align: left;
margin-left: auto;
margin-right: auto;
- width:100%;
- height:90px;
+ width: 100%;
+ height: 90px;
border-radius: 10px;
outline: none;
border: none;
resize: none;
font-size: 18px;
}
-.modal-content p{
+
+.modal-content p {
line-height: 20px;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
}
-.modal-content p img{
+
+.modal-content p img {
margin-top: 0px;
margin-bottom: 0px;
margin-left: 4px;
@@ -3142,14 +3366,15 @@ label>input {
border-radius: 0px;
}
-.modal-content h1{
+.modal-content h1 {
font-size: 24px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.modal-content h1 img{
+
+.modal-content h1 img {
margin-top: 0px;
margin-bottom: 0px;
margin-left: 4px;
@@ -3160,18 +3385,18 @@ label>input {
border-radius: 0px;
}
-.modal-content .btn_area{
+.modal-content .btn_area {
display: flex;
width: 70%;
margin-left: auto;
margin-right: 0px;
}
-.modal-content .fbtn{
+.modal-content .fbtn {
cursor: pointer;
border: none;
display: block;
- width:120px;
+ width: 120px;
padding: 8px auto;
margin-left: auto;
@@ -3185,30 +3410,32 @@ label>input {
background-color: var(--main-color);
border-radius: 50px;
- color:var(--sub-color);
+ color: var(--sub-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.modal-content .fbtn:hover{
+
+.modal-content .fbtn:hover {
background-color: var(--main-color);
color: var(--sub-color);
- width:125px;
-}
-.modal-content .fbtn:active{
- width:115px;
+ width: 125px;
}
-.modal-content .fbtn_no{
+.modal-content .fbtn:active {
+ width: 115px;
+}
+
+.modal-content .fbtn_no {
cursor: pointer;
border: none;
display: block;
- width:120px;
+ width: 120px;
padding: 8px auto;
margin-left: auto;
@@ -3222,27 +3449,29 @@ label>input {
background-color: var(--sub-color);
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
border: 1px solid var(--main-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.modal-content .fbtn_no:hover{
+
+.modal-content .fbtn_no:hover {
background-color: var(--sub-color);
color: var(--main-color);
- width:125px;
-}
-.modal-content .fbtn_no:active{
- width:115px;
+ width: 125px;
}
-.modal-content .action_userlist{
+.modal-content .fbtn_no:active {
+ width: 115px;
+}
+
+.modal-content .action_userlist {
display: flex;
width: auto;
background-color: var(--ueuse-color);
@@ -3253,29 +3482,31 @@ label>input {
margin-bottom: 6px;
}
-.modal-content .action_userlist img{
+.modal-content .action_userlist img {
width: 48px;
height: 48px;
object-fit: cover;
border-radius: 50%;
}
-.modal-content .action_userlist .userabout{
+.modal-content .action_userlist .userabout {
display: block;
margin-left: 12px;
margin-top: auto;
margin-bottom: auto;
}
-.modal-content .action_userlist .userabout .username a{
+
+.modal-content .action_userlist .userabout .username a {
line-height: 20px;
- overflow-wrap: break-word;
+ overflow-wrap: break-word;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.modal-content .action_userlist .userabout .username a img{
+
+.modal-content .action_userlist .userabout .username a img {
margin-top: 0px;
margin-bottom: 0px;
margin-left: 4px;
@@ -3285,11 +3516,12 @@ label>input {
vertical-align: text-top;
border-radius: 0px;
}
-.modal-content .action_userlist .userabout .userid a{
+
+.modal-content .action_userlist .userabout .userid a {
line-height: 20px;
- overflow-wrap: break-word;
+ overflow-wrap: break-word;
font-size: 14px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
@@ -3297,38 +3529,56 @@ label>input {
.modal-content.slideUp {
animation: SlideUp .3s ease-out forwards;
- }
+}
+
.modal-content.slideDown {
animation: SlideDown .15s ease-in-out forwards;
}
+
+.modal-content .scope_desc{
+ margin-left: 8px;
+ line-height: 24px;
+ overflow-wrap: break-word;
+ font-size: 16px;
+ color: var(--text-color);
+ text-decoration: none;
+ font-family: var(--Text-fonts), sans-serif;
+ font-weight: normal;
+}
+
/*下から上*/
@keyframes SlideUp {
0% {
- opacity: 0;
- transform: translateY(-1%);
+ opacity: 0;
+ transform: translateY(-1%);
}
+
100% {
- opacity: 1;
- transform: translateY(-20%);
+ opacity: 1;
+ transform: translateY(-20%);
}
}
+
/*上から下*/
@keyframes SlideDown {
0% {
- opacity: 1;
- transform: translateY(-20%);
+ opacity: 1;
+ transform: translateY(-20%);
}
+
100% {
- opacity: 0;
- transform: translateY(-1%);
+ opacity: 0;
+ transform: translateY(-1%);
}
}
-.modal-content .modal-follow-area{
+
+.modal-content .modal-follow-area {
max-height: 220px;
overflow: scroll;
border-radius: 10px;
margin-bottom: 16px;
}
+
.Image_modal {
display: none;
position: fixed;
@@ -3341,6 +3591,7 @@ label>input {
z-index: 9999;
transition: all 250ms ease-out;
}
+
.Image_modal .modal-content {
padding: 0px;
border-radius: 15px;
@@ -3354,31 +3605,32 @@ label>input {
bottom: 0;
left: 0;
margin: auto;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
overflow: hidden;
cursor: zoom-out;
}
-.Image_modal .modal-content img{
+
+.Image_modal .modal-content img {
background: linear-gradient(45deg, #CCC 25%, transparent 25%, transparent 75%, #CCC 75%),
- linear-gradient(45deg, #CCC 25%, transparent 25%, transparent 75%, #CCC 75%);
+ linear-gradient(45deg, #CCC 25%, transparent 25%, transparent 75%, #CCC 75%);
background-color: #FFF;
background-size: 20px 20px;
background-position: 0 0, 10px 10px;
width: 100%;
height: 80dvh;
margin: 0px;
- vertical-align:top;
+ vertical-align: top;
object-fit: contain;
}
.topbox {
position: fixed;
-
+
top: 0;
left: 0;
width: 100%;
height: 47px;
-
+
background-color: var(--main-color);
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
@@ -3387,20 +3639,23 @@ label>input {
color: var(--background-color);
border-bottom: 1px solid color-mix(in srgb, var(--main-color) 95%, #000);
}
-.topbox .logo{
+
+.topbox .logo {
width: 1080px;
max-width: 95%;
margin: 0px auto;
}
-.topbox .logo img{
+
+.topbox .logo img {
margin-left: 0px;
margin-right: auto;
- margin-top: 0px;
- height: 47px;
+ margin-top: 4px;
+ height: 39px;
+ margin-bottom: 4px;
}
-.terms{
- overflow-wrap: break-word;
+.terms {
+ overflow-wrap: break-word;
margin-left: auto;
margin-right: auto;
width: calc(1080px - 64px);
@@ -3412,8 +3667,8 @@ label>input {
border-radius: 15px;
}
-.terms h1{
- line-height:32px;
+.terms h1 {
+ line-height: 32px;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
font-size: 48px;
@@ -3421,8 +3676,8 @@ label>input {
color: var(--text-color);
}
-.terms h2{
- line-height:32px;
+.terms h2 {
+ line-height: 32px;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
font-size: 48px;
@@ -3430,8 +3685,8 @@ label>input {
color: var(--text-color);
}
-.terms h3{
- line-height:28px;
+.terms h3 {
+ line-height: 28px;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
font-size: 32px;
@@ -3439,8 +3694,8 @@ label>input {
color: var(--text-color);
}
-.terms h4{
- line-height:24px;
+.terms h4 {
+ line-height: 24px;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
font-size: 24px;
@@ -3448,10 +3703,10 @@ label>input {
color: var(--text-color);
}
-.terms p{
+.terms p {
margin-top: 2px;
margin-bottom: 2px;
- line-height:24px;
+ line-height: 24px;
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
font-size: 16px;
@@ -3459,28 +3714,30 @@ label>input {
color: var(--text-color);
}
-.terms img{
- width:100%;
- height:260px;
+.terms img {
+ width: 100%;
+ height: 260px;
background: linear-gradient(45deg, #CCC 25%, transparent 25%, transparent 75%, #CCC 75%),
- linear-gradient(45deg, #CCC 25%, transparent 25%, transparent 75%, #CCC 75%);
+ linear-gradient(45deg, #CCC 25%, transparent 25%, transparent 75%, #CCC 75%);
background-color: #FFF;
background-size: 20px 20px;
background-position: 0 0, 10px 10px;
object-fit: cover;
- width: auto;
- height: 40dvh;
- margin: 12px;
+ min-width: 60%;
+ max-width: 100%;
+ height: auto;
+ margin: 0px;
border-radius: 15px;
}
-.terms .code{
+
+.terms .code {
background-color: var(--text-color);
border-radius: 15px;
padding: 12px;
}
-.terms .code p{
- line-height:24px;
+.terms .code p {
+ line-height: 24px;
margin-right: 12px;
margin-left: 12px;
font-family: var(--Text-fonts), sans-serif;
@@ -3490,21 +3747,23 @@ label>input {
color: var(--background-color);
}
-.terms .fxbx{
+.terms .fxbx {
display: flex;
}
-.terms .fxbx .new{
+
+.terms .fxbx .new {
height: fit-content;
- margin:0px;
+ margin: 0px;
margin-right: 6px;
margin-top: auto;
margin-bottom: auto;
- padding:0px 8px;
+ padding: 0px 8px;
border: 1px solid #00b96c;
text-align: center;
border-radius: 15px;
}
-.terms .fxbx .new p{
+
+.terms .fxbx .new p {
line-height: 12px;
margin-top: 4px;
margin-bottom: 4px;
@@ -3514,21 +3773,23 @@ label>input {
font-size: 14px;
font-family: var(--Mono-fonts), sans-serif;
font-weight: normal;
- vertical-align:middle;
+ vertical-align: middle;
align-items: center;
}
-.terms .fxbx .fix{
+
+.terms .fxbx .fix {
height: fit-content;
- margin:0px;
+ margin: 0px;
margin-right: 6px;
margin-top: auto;
margin-bottom: auto;
- padding:0px 8px;
+ padding: 0px 8px;
border: 1px solid #e6890f;
text-align: center;
border-radius: 15px;
}
-.terms .fxbx .fix p{
+
+.terms .fxbx .fix p {
line-height: 12px;
margin-top: 4px;
margin-bottom: 4px;
@@ -3538,21 +3799,23 @@ label>input {
font-size: 14px;
font-family: var(--Mono-fonts), sans-serif;
font-weight: normal;
- vertical-align:middle;
+ vertical-align: middle;
align-items: center;
}
-.terms .fxbx .chg{
+
+.terms .fxbx .chg {
height: fit-content;
- margin:0px;
+ margin: 0px;
margin-right: 6px;
margin-top: auto;
margin-bottom: auto;
- padding:0px 8px;
+ padding: 0px 8px;
border: 1px solid #1d9bf0;
text-align: center;
border-radius: 15px;
}
-.terms .fxbx .chg p{
+
+.terms .fxbx .chg p {
line-height: 12px;
margin-top: 4px;
margin-bottom: 4px;
@@ -3562,21 +3825,23 @@ label>input {
font-size: 14px;
font-family: var(--Mono-fonts), sans-serif;
font-weight: normal;
- vertical-align:middle;
+ vertical-align: middle;
align-items: center;
}
-.terms .fxbx .del{
+
+.terms .fxbx .del {
height: fit-content;
- margin:0px;
+ margin: 0px;
margin-right: 6px;
margin-top: auto;
margin-bottom: auto;
- padding:0px 8px;
+ padding: 0px 8px;
border: 1px solid var(--error);
text-align: center;
border-radius: 15px;
}
-.terms .fxbx .del p{
+
+.terms .fxbx .del p {
line-height: 12px;
margin-top: 4px;
margin-bottom: 4px;
@@ -3586,15 +3851,16 @@ label>input {
font-size: 14px;
font-family: var(--Mono-fonts), sans-serif;
font-weight: normal;
- vertical-align:middle;
+ vertical-align: middle;
align-items: center;
}
-.terms .space_tab{
+
+.terms .space_tab {
margin-left: 45px;
}
-.terms .p2c{
+.terms .p2c {
margin-top: 0px;
margin-bottom: 10px;
text-align: left;
@@ -3605,7 +3871,8 @@ label>input {
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
}
-.terms .p3{
+
+.terms .p3 {
margin-top: 24px;
text-align: left;
word-wrap: break-word;
@@ -3616,7 +3883,7 @@ label>input {
font-weight: bold;
}
-.terms .sp2c{
+.terms .sp2c {
margin-top: 0px;
margin-bottom: 10px;
text-align: center;
@@ -3627,7 +3894,8 @@ label>input {
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
}
-.terms .sp3{
+
+.terms .sp3 {
margin-top: 24px;
text-align: center;
word-wrap: break-word;
@@ -3638,18 +3906,18 @@ label>input {
font-weight: bold;
}
-.terms ul{
+.terms ul {
margin-top: 6px;
margin-bottom: 6px;
font-family: var(--Text-fonts), sans-serif;
line-height: 20px;
}
-.terms .err404{
+.terms .err404 {
text-align: center;
}
-.terms .err404 img{
+.terms .err404 img {
height: 25dvh;
text-align: center;
margin-left: auto;
@@ -3657,9 +3925,9 @@ label>input {
background: transparent;
}
-.terms .err404 h1{
+.terms .err404 h1 {
margin-top: 64px;
- line-height:64px;
+ line-height: 64px;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
font-size: 64px;
@@ -3667,10 +3935,10 @@ label>input {
color: var(--text-color);
}
-.terms .err404 p{
+.terms .err404 p {
margin-top: 2px;
margin-bottom: 2px;
- line-height:32px;
+ line-height: 32px;
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
font-size: 16px;
@@ -3679,7 +3947,7 @@ label>input {
}
-.rightbox{
+.rightbox {
position: relative;
border-radius: 0px;
margin-top: 12px;
@@ -3690,7 +3958,7 @@ label>input {
padding: 0px;
}
-.rightbox h1{
+.rightbox h1 {
margin-top: 12px;
margin-bottom: 0px;
@@ -3701,7 +3969,7 @@ label>input {
color: var(--text-color);
}
-.rightbox .noticearea{
+.rightbox .noticearea {
width: auto;
height: fit-content;
max-height: 50dvh;
@@ -3709,8 +3977,8 @@ label>input {
border-radius: 10px;
}
-.rightbox .noticebox{
- overflow-wrap: break-word;
+.rightbox .noticebox {
+ overflow-wrap: break-word;
border-radius: 10px;
margin-top: 12px;
margin-bottom: 12px;
@@ -3723,7 +3991,7 @@ label>input {
padding: 12px;
}
-.rightbox .noticebox h4{
+.rightbox .noticebox h4 {
margin-top: 2px;
margin-bottom: 12px;
font-family: var(--Text-fonts), sans-serif;
@@ -3733,7 +4001,7 @@ label>input {
color: var(--text-color);
}
-.rightbox .noticebox p{
+.rightbox .noticebox p {
line-height: 20px;
margin-top: 2px;
margin-bottom: 12px;
@@ -3741,20 +4009,21 @@ label>input {
font-weight: normal;
font-size: 16px;
text-align: left;
- overflow-wrap:break-word;
+ overflow-wrap: break-word;
color: var(--text-color);
}
-.rightbox .noticebox a{
+
+.rightbox .noticebox a {
margin-top: auto;
margin-bottom: auto;
font-size: 16px;
- color:var(--link-color);
+ color: var(--link-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.rightbox .noticebox img{
+.rightbox .noticebox img {
margin-top: auto;
margin-bottom: auto;
margin-left: 4px;
@@ -3763,7 +4032,7 @@ label>input {
vertical-align: middle;
}
-.rightbox .noticebox .makeup p{
+.rightbox .noticebox .makeup p {
line-height: 20px;
margin-top: 2px;
margin-bottom: 2px;
@@ -3774,44 +4043,46 @@ label>input {
color: var(--text-color);
}
-.rightbox .noticebox .makeup a{
+.rightbox .noticebox .makeup a {
margin-top: 24px;
margin-bottom: auto;
margin-left: 0px;
font-size: 16px;
- color:var(--link-color);
+ color: var(--link-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.rightbox .noticebox .time{
+.rightbox .noticebox .time {
margin-top: 4px;
margin-bottom: auto;
margin-left: 0px;
margin-right: auto;
}
-.rightbox .noticebox .time p{
+
+.rightbox .noticebox .time p {
margin-top: 0px;
margin-bottom: 0px;
text-align: left;
font-size: 12px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
font-family: var(--Text-fonts), sans-serif;
}
-.rightbox .btmbox{
+.rightbox .btmbox {
position: absolute;
- bottom: 8px; /*下に固定*/
+ bottom: 8px;
+ /*下に固定*/
height: fit-content;
max-width: 45dvh;
width: 90%;
overflow: scroll;
}
-.rightbox .btmbox h2{
+.rightbox .btmbox h2 {
margin-top: 12px;
margin-bottom: 12px;
font-family: var(--Text-fonts), sans-serif;
@@ -3821,7 +4092,7 @@ label>input {
color: var(--text-color);
}
-.rightbox .btmbox h3{
+.rightbox .btmbox h3 {
margin-top: 2px;
margin-bottom: 12px;
font-family: var(--Text-fonts), sans-serif;
@@ -3831,8 +4102,8 @@ label>input {
color: var(--text-color);
}
-.rightbox .btmbox p{
-
+.rightbox .btmbox p {
+
line-height: 20px;
margin-top: 2px;
margin-bottom: 2px;
@@ -3843,13 +4114,13 @@ label>input {
color: var(--text-color);
}
-.rightbox .btmbox a{
+.rightbox .btmbox a {
margin-top: 24px;
margin-bottom: auto;
margin-left: 0px;
margin-right: 6px;
font-size: 14px;
- color:var(--link-color);
+ color: var(--link-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
@@ -3859,63 +4130,71 @@ label>input {
.loading {
text-align: center;
- font-size: 48px; /* 絵文字のサイズ */
- animation: rotate 0.5s infinite linear; /* アニメーションを適用 */
+ font-size: 48px;
+ /* 絵文字のサイズ */
+ animation: rotate 0.5s infinite linear;
+ /* アニメーションを適用 */
}
@keyframes rotate {
from {
transform: rotate(0deg);
}
+
to {
transform: rotate(360deg);
}
}
-
-.emojibox{
+
+.emojibox {
margin-left: 0px;
margin-right: 0px;
padding: 12px;
width: auto;
}
-.emojibox_flex{
+
+.emojibox_flex {
margin-left: 12px;
margin-right: 12px;
padding: 12px;
width: auto;
display: flex;
}
-.emojibox_flex .right_box{
+
+.emojibox_flex .right_box {
margin-left: auto;
margin-right: 0px;
vertical-align: middle;
}
-.emojibox_button{
+
+.emojibox_button {
cursor: pointer;
border: none;
display: block;
padding: 6px;
- width:38px;
+ width: 38px;
height: 38px;
margin-left: auto;
margin-top: 24px;
margin-bottom: 24px;
background-color: var(--sub-color);
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: all 250ms ease-out;
}
-.emojibox_button:hover{
+
+.emojibox_button:hover {
background-color: color-mix(in srgb, var(--tl-color) 90%, var(--error));
color: var(--error);
}
-.emojibox_button svg{
+
+.emojibox_button svg {
width: 28px;
height: 28px;
margin-left: auto;
@@ -3924,11 +4203,12 @@ label>input {
margin-bottom: 6px;
fill: currentColor;
}
-.emojibox h1{
+
+.emojibox h1 {
margin-left: 12px;
}
-.emojizone{
+.emojizone {
margin: 0px;
display: flex;
flex-wrap: wrap;
@@ -3936,7 +4216,8 @@ label>input {
padding: 24px;
padding-top: 24px;
}
-.emojizone .tokonone{
+
+.emojizone .tokonone {
width: calc(50% - 32px);
height: fit-content;
margin-top: 0px;
@@ -3945,11 +4226,13 @@ label>input {
margin-bottom: 12px;
padding: 12px;
}
-.emojizone .tokonone p{
+
+.emojizone .tokonone p {
margin-top: 30px;
margin-bottom: 30px;
}
-.emjtex{
+
+.emjtex {
width: calc(50% - 36px);
background-color: var(--ueuse-color);
margin-top: 0px;
@@ -3962,18 +4245,19 @@ label>input {
box-shadow: none;
transition: all 250ms ease-out;
}
-.emjtex:hover{
+
+.emjtex:hover {
background-color: color-mix(in srgb, var(--background-color) 95%, #000);
}
-.emjtex .fx{
+.emjtex .fx {
display: flex;
max-width: 100%;
flex-wrap: wrap;
justify-content: flex-start;
}
-.emjtex img{
+.emjtex img {
margin-top: 6px;
margin-bottom: 6px;
margin-left: 6px;
@@ -3983,96 +4267,104 @@ label>input {
object-fit: initial;
}
-.emjtex .btm_zone{
+.emjtex .btm_zone {
margin-top: auto;
- margin-bottom:auto;
+ margin-bottom: auto;
}
-.emjtex h3{
+.emjtex h3 {
overflow-wrap: break-word;
margin-top: 6px;
margin-bottom: 6px;
margin-left: 6px;
font-size: 24px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Mono-fonts), sans-serif;
font-weight: bold;
}
-.emjtex p{
+.emjtex p {
overflow-wrap: break-word;
margin-top: 6px;
margin-bottom: 6px;
margin-left: 6px;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.rp{
+.rp {
display: flex;
width: 100%;
height: fit-content;
}
-.rp p{
- overflow-wrap: break-word;
+
+.rp p {
+ overflow-wrap: break-word;
margin-top: 0px;
margin-bottom: 6px;
margin-left: 6px;
font-size: 14px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.rp .here{
+
+.rp .here {
margin-right: 8px;
width: 12px;
height: 12px;
background-color: var(--main-color);
border-radius: 50%;
}
-.rp .totop{
+
+.rp .totop {
width: 14px;
height: 8px;
border-left: 2px solid var(--text-color);
border-bottom: 2px solid var(--text-color);
border-bottom-left-radius: 6px;
}
-.ru{
+
+.ru {
display: flex;
width: 100%;
height: fit-content;
margin-bottom: 12px;
}
-.ru a{
+
+.ru a {
display: flex;
width: 100%;
height: fit-content;
}
-.ru a img{
+
+.ru a img {
margin-left: 0px;
object-fit: cover;
text-align: center;
width: 24px;
- height:24px;
+ height: 24px;
border-radius: 50%;
}
-.ru a p{
- overflow-wrap: break-word;
+
+.ru a p {
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: 6px;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.ru a p img{
+
+.ru a p img {
vertical-align: text-top;
margin-top: auto;
margin-bottom: auto;
@@ -4083,10 +4375,11 @@ label>input {
border-radius: 0px;
}
-.this{
- background-color: color-mix(in srgb, var(--sub-color) 30%, var(--background-color))!important;
+.this {
+ background-color: color-mix(in srgb, var(--sub-color) 30%, var(--background-color)) !important;
}
-.notification{
+
+.notification {
animation: slideInY 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
margin: 0px;
border-radius: 0px;
@@ -4098,36 +4391,43 @@ label>input {
border-bottom: 1px solid var(--border-color);
width: auto;
}
-.notification:first-child{
+
+.notification:first-child {
border-top: 1px solid var(--border-color);
}
+
@keyframes slideInY {
0% {
- transform: translateY(24px);
- opacity: 0;
+ transform: translateY(24px);
+ opacity: 0;
}
+
100% {
- transform: translateY(0px);
+ transform: translateY(0px);
}
- 40%,100% {
- opacity: 1;
+
+ 40%,
+ 100% {
+ opacity: 1;
}
}
-.notification .flebox{
+
+.notification .flebox {
display: flex;
}
-.notification .flebox a{
+.notification .flebox a {
margin-top: auto;
margin-bottom: auto;
margin-left: 12px;
font-size: 18px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.notification .flebox .icon img{
+
+.notification .flebox .icon img {
margin-top: auto;
margin-bottom: auto;
margin-left: 0px;
@@ -4136,61 +4436,68 @@ label>input {
height: 32px;
object-fit: cover;
}
-.notification .flebox .icon a{
- margin:0px;
+
+.notification .flebox .icon a {
+ margin: 0px;
}
-.notification .flebox .username{
+
+.notification .flebox .username {
margin-top: auto;
margin-bottom: auto;
margin-left: 8px;
}
-.notification .flebox .username a{
- margin:0px;
- color:var(--subtext-color);
+
+.notification .flebox .username a {
+ margin: 0px;
+ color: var(--subtext-color);
font-size: 14px;
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
}
-.notification .flebox .username img{
+
+.notification .flebox .username img {
margin-left: 6px;
margin-right: 6px;
width: 14px;
height: 14px;
}
-.notification .flebox .idbox{
+
+.notification .flebox .idbox {
margin-top: auto;
margin-bottom: auto;
margin-left: 6px;
- border-radius: 10px;
+ border-radius: 16px;
background-color: var(--background-color);
border: 1px solid var(--border-color);
}
-.notification .flebox .idbox a{
+
+.notification .flebox .idbox a {
margin-top: 6px;
margin-bottom: 6px;
margin-left: 8px;
margin-right: 8px;
text-align: center;
font-size: 12px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
}
-.notification p{
- line-height:20px;
- overflow-wrap: break-word;
+.notification p {
+ line-height: 20px;
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: 0px;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
}
-.notification .inline{
+
+.notification .inline {
width: fit-content;
margin-left: 4px;
margin-right: 4px;
@@ -4208,7 +4515,7 @@ label>input {
vertical-align: top;
}
-.notification .quote{
+.notification .quote {
width: fit-content;
border-left: 5px solid;
border-radius: 5px;
@@ -4218,13 +4525,13 @@ label>input {
padding-right: 6px;
padding-top: 4px;
padding-bottom: 4px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
}
-.notification .blur{
+.notification .blur {
position: relative;
background-color: #323232;
width: fit-content;
@@ -4234,63 +4541,71 @@ label>input {
padding-right: 2px;
padding-top: 3px;
padding-bottom: 3px;
- color: #323232;
+ color: transparent;
border-radius: 5px;
transition: 0.5s;
}
-.notification .blur:hover{
+
+.notification .blur:hover {
background-color: var(--notification-color);
color: var(--text-color);
}
+.notification .blur * {
+ transition: 0.5s;
+ opacity: 0;
+}
+.notification .blur:hover * {
+ opacity: 1;
+}
-.notification h1{
- overflow-wrap: break-word;
+.notification h1 {
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: 0px;
font-size: 48px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.notification h2{
- overflow-wrap: break-word;
+.notification h2 {
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: 0px;
font-size: 32px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.notification h3{
- overflow-wrap: break-word;
+.notification h3 {
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: 0px;
font-size: 24px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.notification center{
- overflow-wrap: break-word;
+.notification center {
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: auto;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.notification .mta{
+.notification .mta {
line-height: 30px;
background-color: var(--sub-color);
padding: 6px;
@@ -4300,13 +4615,14 @@ label>input {
margin-left: 3px;
margin-right: 3px;
font-size: 14px;
- color:var(--main-color);
+ color: var(--main-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
transition: all 250ms ease-out;
}
-.notification .mta img{
+
+.notification .mta img {
margin-top: auto;
margin-bottom: auto;
margin-left: 4px;
@@ -4314,24 +4630,26 @@ label>input {
height: 14px;
vertical-align: middle;
}
-.notification .mta:hover{
+
+.notification .mta:hover {
font-size: 14px;
background-color: var(--main-color);
- color:var(--sub-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
+ color: var(--sub-color);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
}
-.notification a{
+.notification a {
margin-top: auto;
margin-bottom: auto;
font-size: 16px;
- color:var(--link-color);
+ color: var(--link-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.notification p img{
+
+.notification p img {
margin-top: auto;
margin-bottom: auto;
margin-left: 4px;
@@ -4340,7 +4658,7 @@ label>input {
vertical-align: middle;
}
-.notification h1 img{
+.notification h1 img {
margin-top: auto;
margin-bottom: auto;
margin-left: 4px;
@@ -4349,7 +4667,7 @@ label>input {
vertical-align: middle;
}
-.notification h2 img{
+.notification h2 img {
margin-top: auto;
margin-bottom: auto;
margin-left: 4px;
@@ -4358,7 +4676,7 @@ label>input {
vertical-align: middle;
}
-.notification h3 img{
+.notification h3 img {
margin-top: auto;
margin-bottom: auto;
margin-left: 4px;
@@ -4369,29 +4687,30 @@ label>input {
-.notification .flebox .time{
+.notification .flebox .time {
margin-top: auto;
margin-bottom: auto;
margin-left: auto;
margin-right: 0px;
text-align: right;
font-size: 12px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
font-family: var(--Text-fonts), sans-serif;
}
-.notification a{
- overflow-wrap: break-word;
+.notification a {
+ overflow-wrap: break-word;
margin-top: 24px;
margin-bottom: auto;
margin-left: 0px;
font-size: 16px;
- color:var(--link-color);
+ color: var(--link-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-hr{
+
+hr {
height: 0;
margin-top: 12px;
margin-bottom: 12px;
@@ -4401,12 +4720,12 @@ hr{
}
-.search_btn{
+.search_btn {
margin-top: 24px;
cursor: pointer;
border: none;
display: block;
- width:20%;
+ width: 20%;
padding: 8px auto;
margin-left: auto;
margin-right: 0px;
@@ -4418,28 +4737,30 @@ hr{
background-color: var(--main-color);
border-radius: 50px;
- color:var(--sub-color);
+ color: var(--sub-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.search_btn:hover{
+
+.search_btn:hover {
background-color: var(--main-color);
color: var(--sub-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
- width:21%;
-}
-.search_btn:active{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
- width:19%;
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
+ width: 21%;
}
-.botbox{
+.search_btn:active {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
+ width: 19%;
+}
+
+.botbox {
display: none;
}
@@ -4470,10 +4791,12 @@ hr{
border-bottom: 3px solid var(--background-color);
transform: rotate(-45deg);
}
+
.new_ueuse {
margin-left: auto;
margin-right: auto;
}
+
.new_ueuse_text {
width: auto;
height: 24px;
@@ -4489,18 +4812,27 @@ hr{
background: var(--main-color);
text-align: center;
overflow: hidden;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
border-radius: 25px;
padding-top: 8px;
padding-bottom: 0px;
padding-left: 0px;
padding-right: 0px;
- color:var(--background-color);
+ color: var(--background-color);
font-family: var(--Text-fonts), sans-serif;
}
+
@keyframes slideDown {
- 0%, 100% { transform: translateY(-64px); }
- 10%, 90% { transform: translateY(32px); }
+
+ 0%,
+ 100% {
+ transform: translateY(-64px);
+ }
+
+ 10%,
+ 90% {
+ transform: translateY(32px);
+ }
}
@@ -4563,7 +4895,7 @@ hr{
}
}
-.tlchange{
+.tlchange {
border-radius: 0px;
margin: 0px;
background-color: var(--ueuse-color);
@@ -4572,7 +4904,8 @@ hr{
text-align: center;
display: flex;
}
-.tlchange .btn{
+
+.tlchange .btn {
width: 30%;
line-height: 32px;
margin-left: auto;
@@ -4593,39 +4926,43 @@ hr{
padding: 0px;
}
-.tlchange .on{
+
+.tlchange .on {
color: var(--main-color);
border-bottom: 1px solid var(--main-color);
}
-.hny{
+.hny {
border-radius: 10px;
overflow: hidden;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05) inset;
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05) inset;
margin: 12px;
border: 1px solid var(--border-color);
}
-.hny .top{
+
+.hny .top {
background-color: #CB4042;
padding-left: 24px;
padding-right: 24px;
padding-top: 8px;
padding-bottom: 8px;
- color:#F5F4F0;
+ color: #F5F4F0;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.hny .textmain{
+
+.hny .textmain {
background-color: #F5F5F5;
padding-top: 8px;
padding-bottom: 24px;
padding-left: 24px;
padding-right: 24px;
}
-.hny .textmain h1{
+
+.hny .textmain h1 {
background-color: #dcae64;
text-align: left;
- color:#FCFAF2;
+ color: #FCFAF2;
font-family: var(--Text-fonts), sans-serif;
word-wrap: break-word;
font-size: 32px;
@@ -4633,18 +4970,20 @@ hr{
padding: 12px;
border-radius: 7px;
}
-.hny .textmain p{
+
+.hny .textmain p {
text-align: left;
- color:#252525;
+ color: #252525;
font-family: var(--Text-fonts), sans-serif;
word-wrap: break-word;
font-size: 16px;
line-height: 22px;
font-weight: bold;
}
-.hny .textmain .rp{
+
+.hny .textmain .rp {
text-align: right;
- color:#252525;
+ color: #252525;
font-family: var(--Text-fonts), sans-serif;
word-wrap: break-word;
font-size: 14px;
@@ -4655,14 +4994,13 @@ hr{
.switch_input {
position: absolute;
- left: 0;
- top: 0;
- width: 64%;
- height: 64%;
+ width: 50px;
+ height: 26px;
z-index: 5;
opacity: 0;
cursor: pointer;
-}
+}
+
.switch_label {
width: 50px;
height: 26px;
@@ -4674,6 +5012,7 @@ hr{
box-sizing: border-box;
border: solid 1px color-mix(in srgb, var(--background-color) 85%, #000);
}
+
.switch_label:after {
content: "";
position: absolute;
@@ -4688,17 +5027,20 @@ hr{
background: var(--background-color);
transition: 0.2s;
}
-.switch_input:checked + .switch_label {
+
+.switch_input:checked+.switch_label {
background-color: var(--main-color);
border: solid 1px var(--main-color);
-}
-.switch_input:checked + .switch_label:after {
+}
+
+.switch_input:checked+.switch_label:after {
left: 24px;
margin-top: 2px;
margin-left: 2px;
width: 20px;
height: 20px;
}
+
.switch_button {
position: relative;
width: 75px;
@@ -4709,11 +5051,12 @@ hr{
input[type=radio] {
display: none;
}
+
.radiobtn_label {
height: 32px;
position: relative;
cursor: pointer;
- padding-left:8px;
+ padding-left: 8px;
padding-right: 8px;
padding-top: 5px;
@@ -4724,13 +5067,14 @@ input[type=radio] {
transition: 0.4s;
box-sizing: border-box;
- color:var(--dark-text-color);
+ color: var(--dark-text-color);
font-family: var(--Text-fonts), sans-serif;
word-wrap: break-word;
font-size: 16px;
line-height: 22px;
font-weight: normal;
}
+
.radiobtn_label::after {
content: "";
position: absolute;
@@ -4748,11 +5092,13 @@ input[type=radio] {
box-shadow: 0 0 0px rgba(0, 0, 0, 0.0);
transition: 0.2s;
}
-.radiobtn_input:checked + .radiobtn_label {
+
+.radiobtn_input:checked+.radiobtn_label {
background-color: var(--main-color);
padding-left: 30px;
-}
-.radiobtn_input:checked + .radiobtn_label::after {
+}
+
+.radiobtn_input:checked+.radiobtn_label::after {
margin-top: 8px;
margin-left: 8px;
margin-bottom: 8px;
@@ -4770,7 +5116,7 @@ summary {
padding: 0.5em;
}
-.server_code{
+.server_code {
margin-top: 12px;
margin-bottom: 12px;
border-radius: 10px;
@@ -4782,69 +5128,80 @@ summary {
border: 1px solid var(--border-color);
width: auto;
}
+
.server_code details {
padding: 0px;
margin-top: 0px;
margin-bottom: 0px;
text-align: left;
- color:var(--text-color);
+ color: var(--text-color);
font-family: var(--Mono-fonts), sans-serif;
word-wrap: break-word;
font-size: 18px;
line-height: 22px;
font-weight: bold;
}
+
.server_code summary {
display: block;
list-style: none;
}
+
.server_code summary::-webkit-details-marker {
display: none;
}
+
@keyframes slideInYopen {
0% {
- transform: translateY(-16px);
- opacity: 0;
+ transform: translateY(-16px);
+ opacity: 0;
}
+
100% {
- transform: translateY(0px);
+ transform: translateY(0px);
}
- 40%,100% {
- opacity: 1;
+
+ 40%,
+ 100% {
+ opacity: 1;
}
}
-.server_code p{
+
+.server_code p {
margin-top: 4px;
margin-bottom: 4px;
text-align: left;
- color:var(--text-color);
+ color: var(--text-color);
font-family: var(--Mono-fonts), sans-serif;
word-wrap: break-word;
font-size: 14px;
line-height: 22px;
font-weight: bold;
}
+
.delbox {
margin: 0px;
padding: 0px;
display: flex;
}
-.delbox p{
+
+.delbox p {
margin-top: auto;
margin-bottom: auto;
text-align: left;
- color:var(--text-color);
+ color: var(--text-color);
font-family: var(--Mono-fonts), sans-serif;
word-wrap: break-word;
font-size: 14px;
line-height: 22px;
font-weight: bold;
}
-.delbox .delbtn{
+
+.delbox .delbtn {
cursor: pointer;
border: none;
display: block;
- width:60px;
+ width: 60px;
padding: 8px auto;
margin-left: auto;
margin-right: 0px;
@@ -4854,25 +5211,27 @@ summary {
padding-bottom: 2px;
background-color: var(--background-color);
border-radius: 50px;
- color:var(--error);
+ color: var(--error);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: all 250ms ease-out;
}
-.delbox .delbtn:hover{
+.delbox .delbtn:hover {
background-color: var(--error);
- color: var(--background-color);;
+ color: var(--background-color);
+ ;
transition: all 250ms ease-out;
}
-.mini_irobtn{
+
+.mini_irobtn {
cursor: pointer;
border: none;
display: block;
- width:60px;
+ width: 60px;
padding: 8px auto;
margin-left: auto;
margin-right: 0px;
@@ -4886,24 +5245,28 @@ summary {
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: all 250ms ease-out;
}
-.mini_irobtn:hover{
+
+.mini_irobtn:hover {
background-color: var(--main-color);
- color: var(--background-color);;
+ color: var(--background-color);
+ ;
transition: all 250ms ease-out;
}
-.admin_settings{
+.admin_settings {
display: flex;
}
-.admin_settings .admin_right{
+
+.admin_settings .admin_right {
margin-right: 0px;
width: 70%;
}
-.admin_settings .admin_left{
+
+.admin_settings .admin_left {
position: sticky;
top: 0;
margin-left: 0px;
@@ -4912,11 +5275,12 @@ summary {
height: 92.5dvh;
border-right: 1px solid var(--border-color);
}
-.admin_leftbtn{
+
+.admin_leftbtn {
cursor: pointer;
border: none;
display: flex;
- width:80%;
+ width: 80%;
margin: 8px;
padding: 8px auto;
margin-left: auto;
@@ -4930,59 +5294,66 @@ summary {
background-color: var(--background-color)FFF;
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
font-size: 18px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: left;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
-.admin_leftbtn:hover{
+
+.admin_leftbtn:hover {
background-color: var(--main-color);
color: var(--sub-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
- width:85%;
-}
-.admin_leftbtn:active{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
- width:75%;
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
+ width: 85%;
}
-.admin_userinfo{
+.admin_leftbtn:active {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
+ width: 75%;
+}
+
+.admin_userinfo {
padding: 12px;
}
-.admin_userinfo .icon{
+
+.admin_userinfo .icon {
display: flex;
vertical-align: middle;
}
-.admin_userinfo .icon img{
+
+.admin_userinfo .icon img {
object-fit: cover;
margin-top: 12px;
text-align: left;
width: 128px;
- height:128px;
+ height: 128px;
border-radius: 50%;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
}
-.admin_userinfo .icon .tatext{
+
+.admin_userinfo .icon .tatext {
display: block;
margin-top: auto;
margin-bottom: auto;
}
-.admin_userinfo .icon .tatext h2{
+
+.admin_userinfo .icon .tatext h2 {
word-wrap: break-word;
margin-left: 12px;
margin-top: 12px;
margin-bottom: auto;
- color:var(--text-color);
+ color: var(--text-color);
font-size: 32px;
font-family: var(--Text-fonts), sans-serif;
font-weight: 900;
}
-.admin_userinfo .icon .tatext p{
+
+.admin_userinfo .icon .tatext p {
word-wrap: break-word;
margin-left: 12px;
margin-right: auto;
@@ -4994,7 +5365,7 @@ summary {
font-weight: 900;
}
-.admin_userinfo .profile p{
+.admin_userinfo .profile p {
text-align: left;
margin-top: 12px;
margin-bottom: auto;
@@ -5002,19 +5373,21 @@ summary {
margin-right: 0px;
word-wrap: break-word;
font-size: 18px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-.admin_userinfo .roleboxes{
+
+.admin_userinfo .roleboxes {
margin-top: 12px;
margin-left: 0px;
display: flex;
padding: 0px;
- flex-wrap : wrap;
+ flex-wrap: wrap;
}
-.admin_userinfo .rolebox{
+
+.admin_userinfo .rolebox {
margin-top: 0px;
margin-bottom: 12px;
margin-left: 0px;
@@ -5025,10 +5398,11 @@ summary {
background-color: var(--background-color);
border: 1px solid var(--main-color);
border-radius: 25px;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
}
-.admin_userinfo .rolebox p{
- color:var(--main-color);
+
+.admin_userinfo .rolebox p {
+ color: var(--main-color);
margin-top: 2px;
margin-bottom: 2px;
margin-left: 10px;
@@ -5037,20 +5411,23 @@ summary {
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
}
-.admin_userinfo .about{
+
+.admin_userinfo .about {
display: block;
}
-.admin_userinfo .p2{
+
+.admin_userinfo .p2 {
margin-top: 0px;
margin-bottom: 10px;
word-wrap: break-word;
line-height: 20px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
font-size: 12px;
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
}
-.admin_userinfo .about p{
+
+.admin_userinfo .about p {
word-wrap: break-word;
margin-left: 0px;
margin-right: auto;
@@ -5061,14 +5438,16 @@ summary {
font-family: var(--Text-fonts), sans-serif;
font-weight: 900;
}
-.admin_userinfo .banzone{
+
+.admin_userinfo .banzone {
display: flex;
}
-.admin_userinfo .banzone .banbtn{
+
+.admin_userinfo .banzone .banbtn {
cursor: pointer;
border: none;
display: block;
- width:25%;
+ width: 25%;
margin: 12px;
padding: 8px 5%;
margin-left: auto;
@@ -5081,29 +5460,32 @@ summary {
text-align: center;
border-radius: 50px;
- color:var(--background-color);
+ color: var(--background-color);
font-size: 22px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
}
-.admin_userinfo .banzone .banbtn:hover{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
- width:30%;
+
+.admin_userinfo .banzone .banbtn:hover {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
+ width: 30%;
}
-.admin_userinfo .banzone .banbtn:active{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
- width:20%;
+
+.admin_userinfo .banzone .banbtn:active {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
+ width: 20%;
}
-.admin_userinfo .banzone .waterbtn{
+
+.admin_userinfo .banzone .waterbtn {
cursor: pointer;
border: none;
display: block;
- width:25%;
+ width: 25%;
margin: 12px;
padding: 8px 5%;
margin-left: auto;
@@ -5116,29 +5498,32 @@ summary {
text-align: center;
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
font-size: 22px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
}
-.admin_userinfo .banzone .waterbtn:hover{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
- width:30%;
+
+.admin_userinfo .banzone .waterbtn:hover {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
+ width: 30%;
}
-.admin_userinfo .banzone .waterbtn:active{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
- width:20%;
+
+.admin_userinfo .banzone .waterbtn:active {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
+ width: 20%;
}
-.admin_userinfo .banzone .icebtn{
+
+.admin_userinfo .banzone .icebtn {
cursor: pointer;
border: none;
display: block;
- width:25%;
+ width: 25%;
margin: 12px;
padding: 8px 5%;
margin-left: auto;
@@ -5151,30 +5536,32 @@ summary {
text-align: center;
border-radius: 50px;
- color:var(--background-color);
+ color: var(--background-color);
font-size: 22px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
}
-.admin_userinfo .banzone .icebtn:hover{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
- width:30%;
-}
-.admin_userinfo .banzone .icebtn:active{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
- width:20%;
+
+.admin_userinfo .banzone .icebtn:hover {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
+ width: 30%;
}
-.error{
+.admin_userinfo .banzone .icebtn:active {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
+ width: 20%;
+}
+
+.error {
width: auto;
margin-top: 12px;
margin-left: 12px;
- margin-right:12px;
+ margin-right: 12px;
margin-bottom: 12px;
background-color: var(--sub-color);
@@ -5185,7 +5572,8 @@ summary {
text-align: center;
overflow: hidden;
}
-.error h1{
+
+.error h1 {
margin-top: 0px;
border-radius: 8px;
padding: 6px;
@@ -5195,20 +5583,22 @@ summary {
font-family: var(--Mono-fonts), sans-serif;
font-weight: bold;
}
-.error p{
+
+.error p {
color: var(--text-color);
font-size: 18px;
font-family: var(--Text-fonts), sans-serif;
font-weight: 900;
}
-.overview{
+.overview {
display: flex;
width: 100%;
margin-top: 12px;
margin-bottom: 12px;
}
-.overview_cnt_l{
+
+.overview_cnt_l {
margin-left: 0px;
margin-right: 6px;
width: 50%;
@@ -5217,7 +5607,8 @@ summary {
border-radius: 10px;
border: 1px solid var(--border-color);
}
-.overview_cnt_r{
+
+.overview_cnt_r {
margin-left: 6px;
margin-right: 0px;
width: 50%;
@@ -5226,36 +5617,43 @@ summary {
border-radius: 10px;
border: 1px solid var(--border-color);
}
-.overview p{
+
+.overview p {
color: var(--text-color);
font-size: 32px;
font-family: var(--Mono-fonts), sans-serif;
font-weight: bold;
}
-.overview .p2{
+
+.overview .p2 {
color: var(--subtext-color);
font-size: 12px;
font-family: var(--Mono-fonts), sans-serif;
font-weight: normal;
}
-.servericon{
+
+.servericon {
text-align: center;
}
-.servericon .up{
+
+.servericon .up {
margin-top: -74px;
}
-.servericon img{
+
+.servericon img {
object-fit: cover;
+ min-width: auto;
width: 100px;
height: 100px;
border-radius: 15px;
- box-shadow:0 0px 0px 0 rgba(0, 0, 0, .0);
+ box-shadow: 0 0px 0px 0 rgba(0, 0, 0, .0);
margin: 0px;
}
-.serverhead{
+.serverhead {
text-align: center;
}
+
.formarea .serverhead img {
object-fit: cover;
width: 100%;
@@ -5263,6 +5661,7 @@ summary {
border-radius: 10px;
margin: 0px;
}
+
.serverhead img {
object-fit: cover;
width: 60%;
@@ -5270,10 +5669,12 @@ summary {
border-radius: 10px;
margin: 0px;
}
-.serverhead_set{
+
+.serverhead_set {
text-align: center;
}
-.serverhead_set img{
+
+.serverhead_set img {
object-fit: cover;
width: 100%;
height: 160px;
@@ -5281,7 +5682,7 @@ summary {
margin: 0px;
}
-.f_c_area{
+.f_c_area {
margin: 0px;
background-color: var(--tl-color);
border: none;
@@ -5289,7 +5690,8 @@ summary {
text-align: center;
display: flex;
}
-.f_c_area .fcnt{
+
+.f_c_area .fcnt {
display: block;
width: 25%;
line-height: 32px;
@@ -5300,11 +5702,13 @@ summary {
display: inline-block;
border: none;
}
-.f_c_area .fcnt .p2{
+
+.f_c_area .fcnt .p2 {
margin-top: 0px;
margin-bottom: 0px;
}
-.f_c_area .fcnt p{
+
+.f_c_area .fcnt p {
overflow-wrap: break-word;
margin-top: 0px;
margin-bottom: 0px;
@@ -5315,12 +5719,13 @@ summary {
font-weight: normal;
text-align: center;
}
-.sp_time_area{
+
+.sp_time_area {
display: none;
}
-.offline{
+.offline {
position: absolute;
animation: slideDownOffline 5.0s ease-in-out forwards;
margin-top: 32px;
@@ -5333,10 +5738,11 @@ summary {
z-index: 9999;
background-color: var(--error);
border-radius: 20px;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
text-decoration: none;
}
-.offline p{
+
+.offline p {
margin-top: 4px;
margin-bottom: 4px;
margin-left: 12px;
@@ -5344,16 +5750,26 @@ summary {
line-height: 24px;
font-family: var(--Text-fonts), sans-serif;
font-size: 16px;
- color:var(--tl-color);
- color: transparent;
+ color: var(--tl-color);
+ color: transparent;
text-shadow: 0 0 0 var(--tl-color);
text-align: center;
}
+
@keyframes slideDownOffline {
- 0%, 100% { transform: translateY(-40dvh); }
- 20%, 90% { transform: translateY(0px); }
+
+ 0%,
+ 100% {
+ transform: translateY(-40dvh);
+ }
+
+ 20%,
+ 90% {
+ transform: translateY(0px);
+ }
}
-.online{
+
+.online {
position: absolute;
animation: slideDownOffline 5.0s ease-in-out forwards;
margin-top: 32px;
@@ -5366,10 +5782,11 @@ summary {
z-index: 9999;
background-color: #1d9bf0;
border-radius: 20px;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
text-decoration: none;
}
-.online p{
+
+.online p {
margin-top: 4px;
margin-bottom: 4px;
margin-left: 12px;
@@ -5377,12 +5794,13 @@ summary {
line-height: 24px;
font-family: var(--Text-fonts), sans-serif;
font-size: 16px;
- color:var(--tl-color);
- color: transparent;
+ color: var(--tl-color);
+ color: transparent;
text-shadow: 0 0 0 var(--tl-color);
text-align: center;
}
-.new_ueuse{
+
+.new_ueuse {
position: absolute;
animation: slideDownOffline 5.0s ease-in-out forwards;
margin-top: 32px;
@@ -5395,11 +5813,12 @@ summary {
z-index: 9999;
background-color: var(--main-color);
border-radius: 20px;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .3);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .3);
text-decoration: none;
cursor: pointer;
}
-.new_ueuse p{
+
+.new_ueuse p {
margin-top: 4px;
margin-bottom: 4px;
margin-left: 12px;
@@ -5407,13 +5826,13 @@ summary {
line-height: 24px;
font-family: var(--Text-fonts), sans-serif;
font-size: 16px;
- color:var(--tl-color);
- color: transparent;
+ color: var(--tl-color);
+ color: transparent;
text-shadow: 0 0 0 var(--tl-color);
text-align: center;
}
-.graph{
+.graph {
margin-top: 12px;
margin-bottom: 12px;
margin-left: 0px;
@@ -5424,7 +5843,8 @@ summary {
border-radius: 50px;
border: solid 1px var(--border-color);
}
-.graph .per{
+
+.graph .per {
margin-top: 4px;
margin-bottom: 4px;
margin-right: 4px;
@@ -5435,7 +5855,7 @@ summary {
border: none;
}
-noscript{
+noscript {
position: fixed;
top: 0;
left: 0;
@@ -5447,7 +5867,8 @@ noscript{
transition: all 250ms ease-out;
cursor: not-allowed;
}
-noscript .noscript_modal{
+
+noscript .noscript_modal {
padding: 0px;
border-radius: 15px;
width: fit-content;
@@ -5461,39 +5882,45 @@ noscript .noscript_modal{
bottom: 45%;
left: 0;
margin: auto;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
overflow: scroll;
cursor: auto;
}
-noscript .noscript_modal .inner{
+
+noscript .noscript_modal .inner {
margin: 64px;
}
-noscript .noscript_modal .inner .oops_icon{
+
+noscript .noscript_modal .inner .oops_icon {
margin-top: -32px;
font-family: var(--Text-fonts), sans-serif;
font-size: 74px;
text-align: center;
}
-noscript .noscript_modal .inner h1{
+
+noscript .noscript_modal .inner h1 {
line-height: 32px;
font-family: var(--Text-fonts), sans-serif;
font-size: 32px;
- color:var(--text-color);
+ color: var(--text-color);
text-align: center;
font-weight: bold;
}
-noscript .noscript_modal .inner p{
+
+noscript .noscript_modal .inner p {
line-height: 20px;
font-family: var(--Text-fonts), sans-serif;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-align: center;
}
-noscript .noscript_modal .inner .p2{
+
+noscript .noscript_modal .inner .p2 {
margin-top: 12px;
text-align: center;
}
-noscript .noscript_modal .inner .infobtn{
+
+noscript .noscript_modal .inner .infobtn {
display: block;
width: 128px;
padding: 6px;
@@ -5501,52 +5928,57 @@ noscript .noscript_modal .inner .infobtn{
margin-left: auto;
margin-right: auto;
display: block;
- background-color:#FFC832;
- color:#ffffff;
+ background-color: #FFC832;
+ color: #ffffff;
border-radius: 32px;
font-size: 20px;
font-family: var(--Mono-fonts), 'Yu Mincho Regular', 'ヒラギノ角ゴシック', sans-serif;
font-weight: normal;
text-decoration: none;
}
-noscript .noscript_modal .inner .center_text{
+
+noscript .noscript_modal .inner .center_text {
margin-top: 12px;
display: block;
}
-noscript .noscript_modal .inner .center_text p{
+
+noscript .noscript_modal .inner .center_text p {
line-height: 16px;
margin: 0px;
text-align: center;
- color:#777;
+ color: #777;
font-size: 14px;
font-family: var(--Mono-fonts), 'Yu Mincho Regular', 'ヒラギノ角ゴシック', sans-serif;
font-weight: normal;
}
-.special:hover span{
- display:inline-block;
+.special:hover span {
+ display: inline-block;
vertical-align: top;
animation: cycling 500ms;
}
+
@keyframes cycling {
from {
- animation-timing-function: ease-in-out;
- transform: scale(1.0, 1.0) translate(0%, 0%) rotate(0deg) skew(0deg, 0deg);
- opacity: 1;
+ animation-timing-function: ease-in-out;
+ transform: scale(1.0, 1.0) translate(0%, 0%) rotate(0deg) skew(0deg, 0deg);
+ opacity: 1;
}
- 50%{
+
+ 50% {
animation-timing-function: ease-in-out;
transform: scale(1.5, 1.5) translate(0%, 0%) rotate(-15deg) skew(0deg, 0deg);
opacity: 1;
}
+
to {
- animation-timing-function: ease-out;
- transform: scale(1.0, 1.0) translate(0%, 0%) rotate(0deg) skew(0deg, 0deg);
- opacity: 1;
+ animation-timing-function: ease-out;
+ transform: scale(1.0, 1.0) translate(0%, 0%) rotate(0deg) skew(0deg, 0deg);
+ opacity: 1;
}
}
-.tutorial_background{
+.tutorial_background {
position: fixed;
top: 0;
left: 0;
@@ -5557,7 +5989,8 @@ noscript .noscript_modal .inner .center_text p{
z-index: 9999;
transition: all 250ms ease-out;
}
-.tutorial_background .tutorial_modal{
+
+.tutorial_background .tutorial_modal {
padding: 0px;
border-radius: 15px;
width: 720px;
@@ -5571,46 +6004,52 @@ noscript .noscript_modal .inner .center_text p{
bottom: 45%;
left: 0;
margin: auto;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
overflow: scroll;
cursor: auto;
}
-.tutorial_background .tutorial_modal .tutorial{
+
+.tutorial_background .tutorial_modal .tutorial {
margin: 64px;
height: calc(100% - 128px);
width: calc(100% - 128px);
}
-.tutorial_background .tutorial_modal .tutorial .page{
+
+.tutorial_background .tutorial_modal .tutorial .page {
position: relative;
transition: all 250ms ease-out;
animation: slideInX 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
height: 100%;
width: 100%;
}
-.tutorial_background .tutorial_modal .tutorial .page h1{
+
+.tutorial_background .tutorial_modal .tutorial .page h1 {
line-height: 32px;
font-family: var(--Text-fonts), sans-serif;
font-size: 32px;
- color:var(--text-color);
+ color: var(--text-color);
text-align: center;
font-weight: bold;
}
-.tutorial_background .tutorial_modal .tutorial .page h2{
+
+.tutorial_background .tutorial_modal .tutorial .page h2 {
line-height: 28px;
font-family: var(--Text-fonts), sans-serif;
font-size: 24px;
- color:var(--text-color);
+ color: var(--text-color);
text-align: left;
font-weight: bold;
}
-.tutorial_background .tutorial_modal .tutorial .page p{
+
+.tutorial_background .tutorial_modal .tutorial .page p {
line-height: 20px;
font-family: var(--Text-fonts), sans-serif;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-align: left;
}
-.tutorial_background .tutorial_modal .tutorial .page img{
+
+.tutorial_background .tutorial_modal .tutorial .page img {
margin-left: auto;
margin-right: auto;
text-align: center;
@@ -5618,65 +6057,74 @@ noscript .noscript_modal .inner .center_text p{
object-fit: contain;
border-radius: 10px;
}
-.tutorial_background .tutorial_modal .tutorial .page .btm_area{
+
+.tutorial_background .tutorial_modal .tutorial .page .btm_area {
width: 100%;
position: absolute;
bottom: 0px;
display: flex;
- justify-content:flex-end;
- margin:auto 0px 0px 0px;
+ justify-content: flex-end;
+ margin: auto 0px 0px 0px;
}
-.tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn{
+
+.tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn {
cursor: pointer;
border: none;
display: block;
- width:20%;
+ width: 20%;
padding: 4px 4px;
margin-left: 12px;
margin-right: 0px;
background-color: var(--main-color);
border-radius: 50px;
- color:var(--sub-color);
+ color: var(--sub-color);
font-size: 18px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: all 250ms ease-out;
}
-.tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn:hover{
+
+.tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn:hover {
background-color: var(--main-color);
color: var(--sub-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
- width:21%;
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
+ width: 21%;
}
-.tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn:active{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .0);
- width:19%;
+
+.tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn:active {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .0);
+ width: 19%;
}
-.tutorial_background .tutorial_modal .tutorial .page .btm_area .backcolor{
+
+.tutorial_background .tutorial_modal .tutorial .page .btm_area .backcolor {
background-color: #CCC;
color: #FFF;
}
-.tutorial_background .tutorial_modal .tutorial .page .btm_area .backcolor:hover{
+
+.tutorial_background .tutorial_modal .tutorial .page .btm_area .backcolor:hover {
background-color: #CCC;
color: #FFF;
}
@keyframes slideInX {
0% {
- transform: translateX(24px);
- opacity: 0;
+ transform: translateX(24px);
+ opacity: 0;
}
+
100% {
- transform: translateX(0px);
+ transform: translateX(0px);
}
- 40%,100% {
- opacity: 1;
+
+ 40%,
+ 100% {
+ opacity: 1;
}
}
-.ueuse_popup_back{
+.ueuse_popup_back {
position: fixed;
top: 0;
left: 0;
@@ -5686,6 +6134,7 @@ noscript .noscript_modal .inner .center_text p{
transition: all 250ms ease-out;
animation: popupBlurAnim 250ms ease-out 1 forwards;
}
+
.ueuse_popup_back .ueuse_popup_menu {
display: none;
position: absolute;
@@ -5697,16 +6146,19 @@ noscript .noscript_modal .inner .center_text p{
border-radius: 10px;
animation: popup_menu 150ms ease-out forwards;
}
-@keyframes popup_menu{
+
+@keyframes popup_menu {
0% {
transform: translateY(-16px) scale(0.9);
opacity: 0;
}
+
100% {
transform: translateY(0px) scale(1.0);
opacity: 1;
}
}
+
.ueuse_popup_back .ueuse_popup_menu button {
cursor: pointer;
display: block;
@@ -5720,17 +6172,19 @@ noscript .noscript_modal .inner .center_text p{
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: left;
transition: all 250ms ease-out;
}
-.ueuse_popup_back .ueuse_popup_menu button svg{
+
+.ueuse_popup_back .ueuse_popup_menu button svg {
width: 24px;
height: 24px;
fill: currentColor;
margin-top: -4px;
margin-right: 8px;
}
+
.ueuse_popup_back .ueuse_popup_menu button:hover {
background-color: var(--sub-color);
color: var(--main-color);
@@ -5740,14 +6194,17 @@ noscript .noscript_modal .inner .center_text p{
background-color: var(--error);
color: var(--background-color);
}
-.ueuse_popup_back .bye{
+
+.ueuse_popup_back .bye {
animation: bye_popup_menu 125ms ease-in forwards;
}
-@keyframes bye_popup_menu{
+
+@keyframes bye_popup_menu {
0% {
transform: translateY(0px) scale(1.0);
opacity: 1;
}
+
100% {
transform: translateY(-16px) scale(0.9);
opacity: 0;
@@ -5755,7 +6212,7 @@ noscript .noscript_modal .inner .center_text p{
}
-.emoji_admin{
+.emoji_admin {
margin-top: 12px;
margin-bottom: 12px;
border-radius: 10px;
@@ -5766,19 +6223,21 @@ noscript .noscript_modal .inner .center_text p{
border: 1px solid var(--border-color);
width: auto;
}
+
.emoji_admin details {
padding: 0px;
margin-top: 0px;
margin-bottom: 0px;
text-align: left;
- color:var(--text-color);
+ color: var(--text-color);
font-family: var(--Mono-fonts), sans-serif;
word-wrap: break-word;
font-size: 18px;
line-height: 32px;
font-weight: bold;
}
-.emoji_admin details img{
+
+.emoji_admin details img {
padding: 0px;
margin-top: 0px;
margin-bottom: 0px;
@@ -5788,25 +6247,28 @@ noscript .noscript_modal .inner .center_text p{
object-fit: initial;
vertical-align: middle;
}
+
.emoji_admin summary {
display: block;
list-style: none;
- color:var(--text-color);
+ color: var(--text-color);
font-family: var(--Mono-fonts), sans-serif;
word-wrap: break-word;
font-size: 20px;
line-height: 32px;
font-weight: bold;
}
+
.emoji_admin summary::-webkit-details-marker {
display: none;
}
-.emoji_admin p{
+
+.emoji_admin p {
margin-top: 4px;
margin-bottom: 4px;
text-align: left;
- color:var(--text-color);
+ color: var(--text-color);
font-family: var(--Mono-fonts), sans-serif;
word-wrap: break-word;
font-size: 14px;
@@ -5822,7 +6284,8 @@ noscript .noscript_modal .inner .center_text p{
background-color: var(--background-color);
border: 1px solid var(--border-color);
width: auto;
- min-height: 32px; /* 閉じた状態での最小高さ */
+ min-height: 32px;
+ /* 閉じた状態での最小高さ */
line-height: 32px;
}
@@ -5837,6 +6300,7 @@ noscript .noscript_modal .inner .center_text p{
font-size: 18px;
font-weight: bold;
}
+
.actionlog details span {
margin: 0px 6px 0px 4px;
padding: 2px 6px;
@@ -5845,31 +6309,37 @@ noscript .noscript_modal .inner .center_text p{
font-weight: normal;
font-size: 16px;
}
+
.actionlog details .INFO {
background-color: color-mix(in srgb, var(--background-color) 90%, var(--success));
border: solid 1px var(--success);
color: var(--success);
}
+
.actionlog details .NOTICE {
background-color: color-mix(in srgb, var(--background-color) 90%, var(--good));
border: solid 1px var(--good);
color: var(--good);
}
+
.actionlog details .WARNING {
background-color: color-mix(in srgb, var(--background-color) 90%, var(--warn));
border: solid 1px var(--warn);
color: var(--warn);
}
+
.actionlog details .ERROR {
background-color: color-mix(in srgb, var(--background-color) 90%, var(--danger));
border: solid 1px var(--danger);
color: var(--danger);
}
+
.actionlog details .CRITICAL {
background-color: color-mix(in srgb, var(--background-color) 90%, var(--error));
border: solid 1px var(--error);
color: var(--error);
}
+
.actionlog summary {
display: block;
list-style: none;
@@ -5877,9 +6347,11 @@ noscript .noscript_modal .inner .center_text p{
line-height: 32px;
overflow: hidden;
}
+
.actionlog summary::-webkit-details-marker {
display: none;
}
+
.actionlog p {
margin-top: 4px;
margin-bottom: 4px;
@@ -5892,26 +6364,104 @@ noscript .noscript_modal .inner .center_text p{
font-weight: normal;
}
+.auth_clientbox{
+ width: 100%;
+ height: fit-content;
+ background-color: var(--background-color);
+ border: solid 1px var(--border-color);
+ border-radius: 10px;
+}
+.auth_clientbox .flexbox{
+ margin: 16px;
+ display: flex;
+ width: 100%;
+ height: fit-content;
+}
+.auth_clientbox .flexbox img{
+ width: 64px;
+ height: 64px;
+ object-fit: cover;
+ border-radius: 8px;
+}
+.auth_clientbox .flexbox p{
+ width: calc(100% - 24px);
+ margin: auto auto auto 16px;
+ font-weight: bold;
+ font-size: 24px;
+ line-height: 24px;
+ color: var(--text-color);
+}
+.auth_clientbox .about{
+ margin: 16px;
+ width: calc(100% - 32px);
+}
+.auth_clientbox .about .scopebox{
+ width: calc(100% - 32px);
+ border: solid 1px var(--border-color);
+ background-color: var(--tl-color);
+ border-radius: 8px;
+ padding: 2px 16px;
+}
+.auth_clientbox .accountbox{
+ width: calc(100% - 32px);
+ height: fit-content;
+ margin: 16px;
+}
+.auth_clientbox .accountbox .flexbox{
+ margin: 0px;
+ display: flex;
+ width: 100%;
+ height: fit-content;
+}
+.auth_clientbox .accountbox .flexbox img{
+ width: 32px;
+ height: 32px;
+ object-fit: cover;
+ border-radius: 16px;
+}
+.auth_clientbox .accountbox .flexbox p{
+ width: calc(100% - 8px);
+ margin: auto auto auto 8px;
+ font-weight: normal;
+ font-size: 16px;
+ line-height: 16px;
+ color: var(--text-color);
+}
+.auth_clientbox .callbackbox{
+ width: calc(100% - 32px);
+ height: fit-content;
+ margin: 16px;
+}
+.auth_clientbox .callbackbox p{
+ font-family: var(--Mono-fonts), sans-serif;
+ font-weight: normal;
+ font-size: 14px;
+ line-height: 14px;
+ color: var(--text-color);
+}
/*------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------スマホ向け--------------------------------------------------*/
/*--------------------------------------------------ここから--------------------------------------------------*/
/*------------------------------------------------------------------------------------------------------------*/
-@media screen and (min-width:768px) and ( max-width:1024px) {
- .rightbox{
+@media screen and (min-width:768px) and (max-width:1024px) {
+ .rightbox {
display: none;
}
- main{
+
+ main {
margin-right: 0px;
width: 72%;
}
- .userleftbox{
+
+ .userleftbox {
padding: 16px;
width: 28%;
}
}
+
@media screen and (max-width:768px) {
- body{
+ body {
width: 100%;
display: block;
border: none;
@@ -5922,91 +6472,94 @@ noscript .noscript_modal .inner .center_text p{
padding-top: 0px;
}
- .userleftbox{
+ .userleftbox {
display: none;
}
- .userheader .icon{
+ .userheader .icon {
margin-left: 12px;
margin-right: 12px;
display: block;
width: auto;
}
- .userheader .roleboxes{
+ .userheader .roleboxes {
margin-left: 6px;
margin-right: 6px;
display: flex;
padding: 0px;
- flex-wrap : wrap;
+ flex-wrap: wrap;
}
- .userheader .icon{
+ .userheader .icon {
margin-right: 24px;
}
- .userheader .icon h2{
+
+ .userheader .icon h2 {
word-wrap: break-word;
- margin-left:0px;
+ margin-left: 0px;
display: flex;
padding: 0px;
- flex-wrap : wrap;
+ flex-wrap: wrap;
}
- .userheader .icon p{
+ .userheader .icon p {
word-wrap: break-word;
margin-top: 12px;
- margin-left:0px;
+ margin-left: 0px;
display: flex;
padding: 0px;
- flex-wrap : wrap;
+ flex-wrap: wrap;
}
- .userheader .profile p{
+ .userheader .profile p {
margin-left: 12px;
margin-right: 12px;
}
- .fzone{
+ .fzone {
margin-left: 12px;
margin-right: 12px;
justify-content: flex-end
}
- .fzone .time{
+ .fzone .time {
display: none;
}
- .sp_time_area{
+ .sp_time_area {
display: block;
margin-left: 24px;
- margin-right:24px;
+ margin-right: 24px;
}
- .sp_time_area .time{
+ .sp_time_area .time {
margin-top: auto;
margin-bottom: 24px;
margin-left: 0px;
margin-right: auto;
}
- .sp_time_area .time p{
+
+ .sp_time_area .time p {
margin-top: 0px;
margin-bottom: 0px;
margin-right: 32px;
text-align: left;
font-size: 12px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
font-family: var(--Text-fonts), sans-serif;
}
- .sp_time_area .time a{
+
+ .sp_time_area .time a {
margin-top: 0px;
margin-bottom: 0px;
text-align: left;
font-size: 12px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
font-family: var(--Text-fonts), sans-serif;
}
- main{
+ main {
height: 94dvh;
overflow: auto;
border-radius: 0px;
@@ -6015,67 +6568,68 @@ noscript .noscript_modal .inner .center_text p{
margin-right: 0px;
width: auto;
background-color: var(--tl-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
border: none;
}
- main h1{
- color:var(--text-color);
+ main h1 {
+ color: var(--text-color);
font-size: 32px;
font-family: var(--Head-fonts), sans-serif;
}
- .fzone .follow_yes p{
+ .fzone .follow_yes p {
margin-top: 10px;
margin-bottom: 10px;
margin-left: 6px;
margin-right: 6px;
}
- .sendbox{
+ .sendbox {
padding-left: 12px;
padding-right: 12px;
padding-top: 12px;
padding-bottom: 12px;
}
- .sendbox .fx img{
+ .sendbox .fx img {
object-fit: cover;
margin-left: -12px;
text-align: center;
width: 58px;
- height:58px;
+ height: 58px;
border-radius: 50%;
}
- .sendbox p{
- line-height:20px;
+ .sendbox p {
+ line-height: 20px;
text-align: left;
margin-top: 12px;
margin-bottom: 12px;
font-size: 14px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
- .sendbox .fxbox{
+ .sendbox .fxbox {
display: flex;
}
- .sendbox label > input {
- display:none; /* アップロードボタンのスタイルを無効にする */
+ .sendbox label>input {
+ display: none;
+ /* アップロードボタンのスタイルを無効にする */
}
- .sendbox label{
+ .sendbox label {
cursor: pointer;
border: none;
display: block;
width: 24px;
height: 24px;
padding: 6px 6px;
-
+
margin-left: 0px;
margin-right: 12px;
@@ -6086,50 +6640,57 @@ noscript .noscript_modal .inner .center_text p{
background-color: var(--main-color);
text-align: center;
}
- .sendbox label img{
- vertical-align:bottom;
+
+ .sendbox label img {
+ vertical-align: bottom;
width: 24px;
}
- .sendbox .fxbox p{
- line-height:20px;
+
+ .sendbox .fxbox p {
+ line-height: 20px;
text-align: left;
margin-top: auto;
margin-bottom: auto;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
- .sendbox .emoji_picker .emoji_picker_flex{
+
+ .sendbox .emoji_picker .emoji_picker_flex {
justify-content: space-between;
}
- .sendbox .emoji_picker .emoji_picker_flex .one_emoji{
+
+ .sendbox .emoji_picker .emoji_picker_flex .one_emoji {
margin: 6px;
width: 40px;
height: 40px;
}
- .sendbox .emoji_picker .emoji_picker_flex .one_emoji img{
+
+ .sendbox .emoji_picker .emoji_picker_flex .one_emoji img {
margin: 3px;
width: 34px;
height: 34px;
}
- .ueusebtn{
- width:30%;
- }
- .ueusebtn:hover{
- width:31%;
- }
- .ueusebtn:active{
- width:29%;
+ .ueusebtn {
+ width: 30%;
}
- .rightbox{
+ .ueusebtn:hover {
+ width: 31%;
+ }
+
+ .ueusebtn:active {
+ width: 29%;
+ }
+
+ .rightbox {
display: none;
}
- .botbox{
+ .botbox {
display: block;
margin-bottom: 0px;
margin-top: 0px;
@@ -6144,7 +6705,7 @@ noscript .noscript_modal .inner .center_text p{
height: 6dvh;
}
- .botbox .lbtnzone{
+ .botbox .lbtnzone {
display: flex;
width: 100%;
margin-top: 0px;
@@ -6153,12 +6714,12 @@ noscript .noscript_modal .inner .center_text p{
margin-bottom: 0px;
}
-
- .btmbutton{
+
+ .btmbutton {
cursor: pointer;
border: none;
display: block;
- width:25%;
+ width: 25%;
margin: 16px;
padding: 8px auto;
height: auto;
@@ -6171,25 +6732,27 @@ noscript .noscript_modal .inner .center_text p{
padding-bottom: 0.5dvh;
border-radius: 0px;
- color:var(--main-color);
+ color: var(--main-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
- box-shadow:none;
+ box-shadow: none;
border: none;
}
- .btmbutton:hover{
+
+ .btmbutton:hover {
background-color: var(--background-color);
color: var(--main-color);
- box-shadow:none;
+ box-shadow: none;
}
- .btmbutton:active svg{
- box-shadow:none;
+
+ .btmbutton:active svg {
+ box-shadow: none;
margin-left: auto;
margin-right: auto;
margin-top: auto;
@@ -6198,6 +6761,7 @@ noscript .noscript_modal .inner .center_text p{
width: 4.7dvh;
height: 4.7dvh;
}
+
svg {
width: 5dvh;
height: 5dvh;
@@ -6209,32 +6773,37 @@ noscript .noscript_modal .inner .center_text p{
transition: all 250ms ease-out;
}
- .irobutton{
+ .irobutton {
padding: 8px 5%;
}
- .irobutton:hover{
+
+ .irobutton:hover {
padding: 8px 6%;
}
- .irobutton:active{
- padding: 8px 4%;
- }
- .sirobutton{
- padding: 8px 5%;
- }
- .sirobutton:hover{
- padding: 8px 6%;
- }
- .sirobutton:active{
+
+ .irobutton:active {
padding: 8px 4%;
}
- .ueuse .favbox img{
+ .sirobutton {
+ padding: 8px 5%;
+ }
+
+ .sirobutton:hover {
+ padding: 8px 6%;
+ }
+
+ .sirobutton:active {
+ padding: 8px 4%;
+ }
+
+ .ueuse .favbox img {
width: 24px;
height: 24px;
}
- .ueuse .favbox .favbtn{
- width:auto;
+ .ueuse .favbox .favbtn {
+ width: auto;
margin-left: 0px;
margin-right: 12px;
margin-top: 2px;
@@ -6254,6 +6823,7 @@ noscript .noscript_modal .inner .center_text p{
fill: currentColor;
transition: all 250ms ease-out;
}
+
.ueuse .favbox .favbtn_after svg {
margin-top: -4px;
margin-right: 4px;
@@ -6263,8 +6833,8 @@ noscript .noscript_modal .inner .center_text p{
transition: all 250ms ease-out;
}
- .ueuse .favbox .tuduki{
- width:auto;
+ .ueuse .favbox .tuduki {
+ width: auto;
margin-left: 0px;
margin-right: 12px;
margin-top: 2px;
@@ -6275,6 +6845,7 @@ noscript .noscript_modal .inner .center_text p{
padding-left: 8px;
padding-right: 8px;
}
+
.ueuse .favbox .tuduki svg {
margin-top: -8px;
margin-right: 4px;
@@ -6284,8 +6855,8 @@ noscript .noscript_modal .inner .center_text p{
transition: all 250ms ease-out;
}
- .ueuse .favbox .delbtn{
- width:60px;
+ .ueuse .favbox .delbtn {
+ width: 60px;
margin-left: 6px;
margin-right: 0px;
margin-top: 2px;
@@ -6295,8 +6866,9 @@ noscript .noscript_modal .inner .center_text p{
padding-left: 2px;
padding-right: 2px;
}
- .ueuse .favbox .addabi{
- width:auto;
+
+ .ueuse .favbox .addabi {
+ width: auto;
margin-left: 6px;
margin-right: 6px;
margin-top: 2px;
@@ -6306,6 +6878,7 @@ noscript .noscript_modal .inner .center_text p{
padding-left: 8px;
padding-right: 8px;
}
+
.ueuse .favbox .addabi svg {
margin-top: -8px;
margin-right: 0px;
@@ -6316,8 +6889,8 @@ noscript .noscript_modal .inner .center_text p{
transition: all 250ms ease-out;
}
- .ueuse .favbox .share{
- width:auto;
+ .ueuse .favbox .share {
+ width: auto;
margin-left: auto;
margin-right: 6px;
margin-top: 2px;
@@ -6328,8 +6901,8 @@ noscript .noscript_modal .inner .center_text p{
padding-right: 8px;
}
- .ueuse .favbox .bookmark{
- width:auto;
+ .ueuse .favbox .bookmark {
+ width: auto;
margin-left: auto;
margin-right: 6px;
margin-top: 2px;
@@ -6339,7 +6912,8 @@ noscript .noscript_modal .inner .center_text p{
padding-left: 8px;
padding-right: 8px;
}
- .ueuse{
+
+ .ueuse {
animation: slideInY 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
margin: 0px;
border-radius: 0px;
@@ -6351,7 +6925,7 @@ noscript .noscript_modal .inner .center_text p{
width: auto;
}
- .ueuse .flebox{
+ .ueuse .flebox {
display: flex;
flex-wrap: wrap;
}
@@ -6368,25 +6942,27 @@ noscript .noscript_modal .inner .center_text p{
font-weight: bold;
}
- .ueuse .flebox .time{
+ .ueuse .flebox .time {
margin-top: 6px;
margin-bottom: 6px;
margin-left: auto;
margin-right: 12px;
text-align: right;
font-size: 12px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
font-family: var(--Text-fonts), sans-serif;
}
- .ueuse .headbox{
+ .ueuse .headbox {
margin-bottom: 12px;
}
- .ueuse .headbox a{
+
+ .ueuse .headbox a {
margin: 0px;
padding: 0px;
}
- .ueuse .headbox img{
+
+ .ueuse .headbox img {
margin-left: auto;
margin-right: auto;
margin-top: 0px;
@@ -6394,23 +6970,28 @@ noscript .noscript_modal .inner .center_text p{
width: 100%;
height: 74px;
}
- .ueuse .profilebox p{
+
+ .ueuse .profilebox p {
margin-left: 12px;
margin-right: 12px;
}
- .ueuse .flebox .user{
+
+ .ueuse .flebox .user {
margin-top: -12px;
}
- .ueuse .flebox .user img{
+
+ .ueuse .flebox .user img {
margin-left: 12px;
}
+
.ueuse .flebox .user a {
margin-left: 0px;
}
- .ueuse .flebox .user .bot{
+
+ .ueuse .flebox .user .bot {
margin-top: auto;
margin-bottom: auto;
- padding: 3px 8px;
+ padding: 3px 8px;
margin-left: 6px;
border-radius: 10px;
font-family: var(--Mono-fonts), sans-serif;
@@ -6418,8 +6999,8 @@ noscript .noscript_modal .inner .center_text p{
text-align: center;
font-size: 12px;
}
-
- .leftbox{
+
+ .leftbox {
display: block;
border-radius: 17px;
margin-top: 12px;
@@ -6431,31 +7012,33 @@ noscript .noscript_modal .inner .center_text p{
height: 100%;
margin-left: 0px;
padding: 32px;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
border: 1px solid var(--main-color);
}
- .leftbox h1{
+ .leftbox h1 {
font-family: var(--Head-fonts), sans-serif;
margin-left: 20px;
- color:var(--background-color);
+ color: var(--background-color);
font-size: 32px;
}
- .leftbox .logo{
+
+ .leftbox .logo {
display: flex;
}
- .leftbox .logo img{
+ .leftbox .logo img {
margin-left: auto;
margin-right: auto;
margin-top: 16px;
width: 72%;
-
+
}
- .leftbox .logo p{
- color:var(--main-color);
+
+ .leftbox .logo p {
+ color: var(--main-color);
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
font-size: 32px;
@@ -6464,23 +7047,25 @@ noscript .noscript_modal .inner .center_text p{
margin-bottom: -4px;
}
- .imgbtn{
- width:40%;
- }
- .imgbtn:hover{
- background-color: var(--main-color);
- color: var(--sub-color);
- width:35%;
- }
- .imgebtn:active{
- width:45%;
+ .imgbtn {
+ width: 40%;
}
- .imgbtn2{
+ .imgbtn:hover {
+ background-color: var(--main-color);
+ color: var(--sub-color);
+ width: 35%;
+ }
+
+ .imgebtn:active {
+ width: 45%;
+ }
+
+ .imgbtn2 {
cursor: pointer;
border: none;
display: block;
- width:20%;
+ width: 20%;
padding: 8px auto;
margin-top: -64px;
margin-left: 12px;
@@ -6493,28 +7078,30 @@ noscript .noscript_modal .inner .center_text p{
background-color: var(--main-color);
border-radius: 50px;
- color:var(--sub-color);
+ color: var(--sub-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
- .imgbtn2:hover{
+
+ .imgbtn2:hover {
background-color: var(--main-color);
color: var(--sub-color);
- width:19%;
+ width: 19%;
}
- .imgebtn2:active{
- width:21%;
+
+ .imgebtn2:active {
+ width: 21%;
}
-
+
.topbox {
position: absolute;
-
+
top: 0;
left: 0;
width: 100%;
@@ -6525,18 +7112,21 @@ noscript .noscript_modal .inner .center_text p{
margin-right: auto;
}
- .topbox .logo{
+ .topbox .logo {
width: 92%;
}
- .topbox .logo img{
- margin-left: 0px;
+
+ .topbox .logo img {
margin-right: auto;
- margin-top: 0px;
+ margin-left: 0px;
+ margin-top: 4px;
+ margin-bottom: 4px;
width: fit-content;
+ height: 39px;
}
- .terms{
- overflow-wrap: break-word;
+ .terms {
+ overflow-wrap: break-word;
margin-left: auto;
margin-right: auto;
width: 90%;
@@ -6547,8 +7137,8 @@ noscript .noscript_modal .inner .center_text p{
background-color: transparent !important;
}
- .terms h1{
- line-height:52px;
+ .terms h1 {
+ line-height: 52px;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
font-size: 48px;
@@ -6556,8 +7146,8 @@ noscript .noscript_modal .inner .center_text p{
color: var(--text-color);
}
- .terms h2{
- line-height:52px;
+ .terms h2 {
+ line-height: 52px;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
font-size: 48px;
@@ -6565,8 +7155,8 @@ noscript .noscript_modal .inner .center_text p{
color: var(--text-color);
}
- .terms h3{
- line-height:36px;
+ .terms h3 {
+ line-height: 36px;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
font-size: 32px;
@@ -6574,8 +7164,8 @@ noscript .noscript_modal .inner .center_text p{
color: var(--text-color);
}
- .terms h4{
- line-height:24px;
+ .terms h4 {
+ line-height: 24px;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
font-size: 24px;
@@ -6583,10 +7173,10 @@ noscript .noscript_modal .inner .center_text p{
color: var(--text-color);
}
- .terms p{
+ .terms p {
margin-top: 2px;
margin-bottom: 2px;
- line-height:24px;
+ line-height: 24px;
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
font-size: 16px;
@@ -6594,7 +7184,7 @@ noscript .noscript_modal .inner .center_text p{
color: var(--text-color);
}
- .terms img{
+ .terms img {
object-fit: cover;
width: auto;
@@ -6606,14 +7196,14 @@ noscript .noscript_modal .inner .center_text p{
border-radius: 15px;
}
- .terms .code{
+ .terms .code {
background-color: var(--text-color);
border-radius: 15px;
padding: 12px;
}
- .terms .code p{
- line-height:24px;
+ .terms .code p {
+ line-height: 24px;
margin-right: 12px;
margin-left: 12px;
font-family: var(--Text-fonts), sans-serif;
@@ -6624,7 +7214,7 @@ noscript .noscript_modal .inner .center_text p{
}
- .terms .p2c{
+ .terms .p2c {
margin-top: 0px;
margin-bottom: 10px;
text-align: left;
@@ -6636,7 +7226,7 @@ noscript .noscript_modal .inner .center_text p{
font-weight: normal;
}
- .terms .p3{
+ .terms .p3 {
margin-top: 24px;
text-align: left;
word-wrap: break-word;
@@ -6647,9 +7237,9 @@ noscript .noscript_modal .inner .center_text p{
font-weight: bold;
}
- .terms .err404 h1{
+ .terms .err404 h1 {
margin-top: 128px;
- line-height:64px;
+ line-height: 64px;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
font-size: 64px;
@@ -6657,19 +7247,7 @@ noscript .noscript_modal .inner .center_text p{
color: var(--text-color);
}
- .ueuse .flebox .bot{
- margin-top: auto;
- margin-bottom: auto;
- padding: 3px 8px;
- margin-left: 6px;
- border-radius: 10px;
- font-family: var(--Mono-fonts), sans-serif;
- font-weight: bold;
- text-align: center;
- font-size: 12px;
- }
-
- .ueuse .photo1 img{
+ .ueuse .photo1 img {
object-fit: cover;
border-radius: 10px;
margin-top: 12px;
@@ -6679,8 +7257,8 @@ noscript .noscript_modal .inner .center_text p{
height: auto;
border: 1px solid var(--border-color);
}
-
- .ueuse .photo2 a img{
+
+ .ueuse .photo2 a img {
object-fit: cover;
border-radius: 10px;
margin-top: 12px;
@@ -6691,7 +7269,7 @@ noscript .noscript_modal .inner .center_text p{
border: 1px solid var(--border-color);
}
- .ueuse .photo3 a img{
+ .ueuse .photo3 a img {
object-fit: cover;
border-radius: 10px;
margin-top: 12px;
@@ -6701,7 +7279,8 @@ noscript .noscript_modal .inner .center_text p{
height: 20dvh;
border: 1px solid var(--border-color);
}
- .ueuse .photo3_btm a img{
+
+ .ueuse .photo3_btm a img {
object-fit: cover;
border-radius: 10px;
margin-top: 6px;
@@ -6711,7 +7290,8 @@ noscript .noscript_modal .inner .center_text p{
height: 25dvh;
border: 1px solid var(--border-color);
}
- .ueuse .photo4 a img{
+
+ .ueuse .photo4 a img {
object-fit: cover;
border-radius: 10px;
margin-top: 8px;
@@ -6721,8 +7301,8 @@ noscript .noscript_modal .inner .center_text p{
height: 20dvh;
border: 1px solid var(--border-color);
}
-
- .ueuse .video1 video{
+
+ .ueuse .video1 video {
object-fit: cover;
border-radius: 10px;
margin-top: 12px;
@@ -6734,179 +7314,182 @@ noscript .noscript_modal .inner .center_text p{
}
- .notification .flebox a{
+ .notification .flebox a {
margin-top: auto;
margin-bottom: auto;
margin-left: 12px;
font-size: 18px;
- color:var(--text-color);
- text-decoration: none;
- font-family: var(--Text-fonts), sans-serif;
- font-weight: bold;
- }
-
- .notification .flebox .idbox{
- margin-top: auto;
- margin-bottom: auto;
- margin-left: 6px;
- border-radius: 10px;
- background-color: var(--background-color);
- border: 1px solid var(--border-color);
- }
- .notification .flebox .idbox a{
- margin-top: 6px;
- margin-bottom: 6px;
- margin-left: 8px;
- margin-right: 8px;
- text-align: center;
- font-size: 12px;
- color:var(--subtext-color);
- text-decoration: none;
- font-family: var(--Text-fonts), sans-serif;
- }
-
- .notification p{
- line-height: 20px;
- overflow-wrap: break-word;
- margin-top: auto;
- margin-bottom: auto;
- margin-left: 0px;
- font-size: 16px;
- color:var(--text-color);
- text-decoration: none;
- font-family: var(--Text-fonts), sans-serif;
- font-weight: bold;
- }
-
- .notification h3{
- overflow-wrap: break-word;
- margin-top: 12px;
- margin-bottom: 6px;
- margin-left: 0px;
- font-size: 18px;
- color:var(--text-color);
- text-decoration: none;
- font-family: var(--Text-fonts), sans-serif;
- font-weight: bold;
- }
-
-
- .notification .flebox .time{
- margin-top: auto;
- margin-bottom: auto;
- margin-left: auto;
- margin-right: 0px;
- text-align: right;
- font-size: 12px;
- color:var(--subtext-color);
- font-family: var(--Text-fonts), sans-serif;
- }
-
- .notification a{
- overflow-wrap: break-word;
- margin-top: 32px;
- margin-bottom: auto;
- margin-left: 0px;
- font-size: 16px;
- color:var(--link-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
- .notification2 .flebox a{
- margin-top: auto;
- margin-bottom: auto;
- margin-left: 12px;
- font-size: 18px;
- color:var(--text-color);
- text-decoration: none;
- font-family: var(--Text-fonts), sans-serif;
- font-weight: bold;
- }
-
- .notification2 .flebox .idbox{
+ .notification .flebox .idbox {
margin-top: auto;
margin-bottom: auto;
margin-left: 6px;
- border-radius: 10px;
+ border-radius: 16px;
background-color: var(--background-color);
border: 1px solid var(--border-color);
}
- .notification2 .flebox .idbox a{
+
+ .notification .flebox .idbox a {
margin-top: 6px;
margin-bottom: 6px;
margin-left: 8px;
margin-right: 8px;
text-align: center;
font-size: 12px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
}
-
- .notification2 p{
+
+ .notification p {
line-height: 20px;
- overflow-wrap: break-word;
+ overflow-wrap: break-word;
margin-top: auto;
margin-bottom: auto;
margin-left: 0px;
font-size: 16px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-
- .notification2 h3{
- overflow-wrap: break-word;
+
+ .notification h3 {
+ overflow-wrap: break-word;
margin-top: 12px;
margin-bottom: 6px;
margin-left: 0px;
font-size: 18px;
- color:var(--text-color);
+ color: var(--text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-
-
- .notification2 .flebox .time{
+
+
+ .notification .flebox .time {
margin-top: auto;
margin-bottom: auto;
margin-left: auto;
margin-right: 0px;
text-align: right;
font-size: 12px;
- color:var(--subtext-color);
+ color: var(--subtext-color);
font-family: var(--Text-fonts), sans-serif;
}
-
- .notification2 a{
- overflow-wrap: break-word;
+
+ .notification a {
+ overflow-wrap: break-word;
margin-top: 32px;
margin-bottom: auto;
margin-left: 0px;
font-size: 16px;
- color:var(--link-color);
+ color: var(--link-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
-
- .modal{
- top:0;
+
+ .notification2 .flebox a {
+ margin-top: auto;
+ margin-bottom: auto;
+ margin-left: 12px;
+ font-size: 18px;
+ color: var(--text-color);
+ text-decoration: none;
+ font-family: var(--Text-fonts), sans-serif;
+ font-weight: bold;
+ }
+
+ .notification2 .flebox .idbox {
+ margin-top: auto;
+ margin-bottom: auto;
+ margin-left: 6px;
+ border-radius: 16px;
+ background-color: var(--background-color);
+ border: 1px solid var(--border-color);
+ }
+
+ .notification2 .flebox .idbox a {
+ margin-top: 6px;
+ margin-bottom: 6px;
+ margin-left: 8px;
+ margin-right: 8px;
+ text-align: center;
+ font-size: 12px;
+ color: var(--subtext-color);
+ text-decoration: none;
+ font-family: var(--Text-fonts), sans-serif;
+ }
+
+ .notification2 p {
+ line-height: 20px;
+ overflow-wrap: break-word;
+ margin-top: auto;
+ margin-bottom: auto;
+ margin-left: 0px;
+ font-size: 16px;
+ color: var(--text-color);
+ text-decoration: none;
+ font-family: var(--Text-fonts), sans-serif;
+ font-weight: bold;
+ }
+
+ .notification2 h3 {
+ overflow-wrap: break-word;
+ margin-top: 12px;
+ margin-bottom: 6px;
+ margin-left: 0px;
+ font-size: 18px;
+ color: var(--text-color);
+ text-decoration: none;
+ font-family: var(--Text-fonts), sans-serif;
+ font-weight: bold;
+ }
+
+
+ .notification2 .flebox .time {
+ margin-top: auto;
+ margin-bottom: auto;
+ margin-left: auto;
+ margin-right: 0px;
+ text-align: right;
+ font-size: 12px;
+ color: var(--subtext-color);
+ font-family: var(--Text-fonts), sans-serif;
+ }
+
+ .notification2 a {
+ overflow-wrap: break-word;
+ margin-top: 32px;
+ margin-bottom: auto;
+ margin-left: 0px;
+ font-size: 16px;
+ color: var(--link-color);
+ text-decoration: none;
+ font-family: var(--Text-fonts), sans-serif;
+ font-weight: bold;
+ }
+
+ .modal {
+ top: 0;
left: 0;
bottom: 0;
width: 100%;
height: 100dvh;
background-color: rgba(0, 0, 0, 0.25);
backdrop-filter: blur(4px);
- z-index: 9999;
+ z-index: 10000;
margin-bottom: 0px;
}
+
.modal-content {
- margin-top:35dvh;
+ margin-top: 35dvh;
width: calc(100% - 48px);
margin-bottom: 0px;
height: 60dvh;
@@ -6919,15 +7502,15 @@ noscript .noscript_modal .inner .center_text p{
animation: SlideUp .5s ease-in-out forwards;
}
- .modal-content textarea{
+ .modal-content textarea {
text-align: left;
- width:100%;
- height:90px;
+ width: 100%;
+ height: 90px;
border-radius: 12px;
font-size: 16px;
}
- .modal-content .btn_area{
+ .modal-content .btn_area {
display: flex;
width: 100%;
margin-top: 12px;
@@ -6936,11 +7519,11 @@ noscript .noscript_modal .inner .center_text p{
margin-bottom: 48px
}
- .modal-content .fbtn{
+ .modal-content .fbtn {
cursor: pointer;
border: none;
display: block;
- width:48%;
+ width: 48%;
padding: 8px auto;
margin-left: auto;
margin-right: 0px;
@@ -6951,24 +7534,26 @@ noscript .noscript_modal .inner .center_text p{
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
- .modal-content .fbtn:hover{
- width:50%;
- }
- .modal-content .fbtn:active{
- width:45%;
+
+ .modal-content .fbtn:hover {
+ width: 50%;
}
- .modal-content .fbtn_no{
+ .modal-content .fbtn:active {
+ width: 45%;
+ }
+
+ .modal-content .fbtn_no {
cursor: pointer;
border: none;
display: block;
- width:48%;
+ width: 48%;
padding: 8px auto;
margin-left: 0px;
margin-right: auto;
@@ -6979,56 +7564,65 @@ noscript .noscript_modal .inner .center_text p{
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
- .modal-content .fbtn_no:hover{
- width:50%;
+
+ .modal-content .fbtn_no:hover {
+ width: 50%;
}
- .modal-content .fbtn_no:active{
- width:45%;
+
+ .modal-content .fbtn_no:active {
+ width: 45%;
}
.modal-content.slideUp {
animation: SlideUp .3s ease-out forwards;
- }
+ }
+
.modal-content.slideDown {
animation: SlideDown .15s ease-in-out forwards;
}
- .modal-content .modal-follow-area{
+
+ .modal-content .modal-follow-area {
max-height: 40dvh;
}
+
/*下から上*/
@keyframes SlideUp {
0% {
opacity: 0;
transform: translate(-50%, -1%);
}
+
100% {
opacity: 1;
transform: translate(-50%, -40%);
}
}
+
/*上から下*/
@keyframes SlideDown {
0% {
opacity: 1;
transform: translate(-50%, -40%);
}
+
100% {
opacity: 0;
transform: translate(-50%, -1%);
}
}
- .Image_modal{
+ .Image_modal {
-moz-box-sizing: border-box;
box-sizing: border-box;
height: 100dvh;
}
+
.Image_modal .modal-content {
padding: 0px;
border-radius: 15px;
@@ -7044,51 +7638,58 @@ noscript .noscript_modal .inner .center_text p{
margin: auto;
margin-top: 0px;
margin-bottom: 0px;
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .15);
overflow: hidden;
}
- .Image_modal .modal-content img{
+
+ .Image_modal .modal-content img {
background: linear-gradient(45deg, #CCC 25%, transparent 25%, transparent 75%, #CCC 75%),
- linear-gradient(45deg, #CCC 25%, transparent 25%, transparent 75%, #CCC 75%);
+ linear-gradient(45deg, #CCC 25%, transparent 25%, transparent 75%, #CCC 75%);
background-color: #FFF;
background-size: 20px 20px;
background-position: 0 0, 10px 10px;
width: 100%;
height: auto;
margin: 0px;
- vertical-align:top;
+ vertical-align: top;
object-fit: contain;
}
+
.Image_modal .modal-content.slideUp {
animation: I-SlideUp .3s ease-out forwards;
}
+
.Image_modal .modal-content.slideDown {
animation: I-SlideDown .15s ease-in-out forwards;
}
+
/*下から上*/
@keyframes I-SlideUp {
0% {
opacity: 0;
transform: translate(-50%, -1%);
}
+
100% {
opacity: 1;
transform: translate(-50%, calc(-50% - 6dvh));
}
}
+
/*上から下*/
@keyframes I-SlideDown {
0% {
opacity: 1;
transform: translate(-50%, calc(-50% - 6dvh));
}
+
100% {
opacity: 0;
transform: translate(-50%, -1%);
}
}
- .tlchange{
+ .tlchange {
border-radius: 0px;
margin: 0px;
margin-top: 0px;
@@ -7097,106 +7698,116 @@ noscript .noscript_modal .inner .center_text p{
text-align: center;
display: flex;
}
- .tlchange .off{
+
+ .tlchange .off {
width: 30%;
line-height: 24px;
margin-left: auto;
margin-right: auto;
- overflow-wrap: break-word;
- margin-top: 12px;
- margin-bottom: 12px;
- }
- .tlchange .on{
- width: 30%;
- line-height: 24px;
- margin-left: auto;
- margin-right: auto;
- overflow-wrap: break-word;
+ overflow-wrap: break-word;
margin-top: 12px;
margin-bottom: 12px;
}
- .hny{
+ .tlchange .on {
+ width: 30%;
+ line-height: 24px;
+ margin-left: auto;
+ margin-right: auto;
+ overflow-wrap: break-word;
+ margin-top: 12px;
+ margin-bottom: 12px;
+ }
+
+ .hny {
border-radius: 10px;
overflow: hidden;
margin: 12px;
border: 1px solid var(--border-color);
}
- .hny .top{
+
+ .hny .top {
background-color: #CB4042;
padding-left: 24px;
padding-right: 24px;
padding-top: 8px;
padding-bottom: 8px;
- color:#FCFAF2;
+ color: #FCFAF2;
font-family: var(--Text-fonts), sans-serif;
font-weight: bold;
}
- .hny .textmain{
+
+ .hny .textmain {
background-color: #f5f4f0;
padding-top: 8px;
padding-bottom: 24px;
padding-left: 24px;
padding-right: 24px;
}
- .hny .textmain h1{
+
+ .hny .textmain h1 {
background-color: transparent;
text-align: left;
- color:var(--text-color);
+ color: var(--text-color);
font-family: var(--Text-fonts), sans-serif;
- overflow-wrap:break-word;
+ overflow-wrap: break-word;
font-size: 22px;
line-height: 32px;
padding: 0px;
border-radius: 7px;
}
- .hny .textmain p{
+
+ .hny .textmain p {
margin: 0px;
text-align: left;
- color:var(--text-color);
+ color: var(--text-color);
font-family: var(--Text-fonts), sans-serif;
- overflow-wrap:break-word;
+ overflow-wrap: break-word;
font-size: 16px;
line-height: 22px;
font-weight: bold;
}
- .hny .textmain .rp{
+
+ .hny .textmain .rp {
margin-top: 6px;
text-align: right;
- color:var(--text-color);
+ color: var(--text-color);
font-family: var(--Text-fonts), sans-serif;
- overflow-wrap:break-word;
+ overflow-wrap: break-word;
font-size: 14px;
line-height: 22px;
font-weight: normal;
margin-bottom: 6px;
}
-
- .formarea{
+
+ .formarea {
padding-top: 16px;
padding-bottom: 16px;
padding-left: 32px;
padding-right: 32px;
border-radius: 0px;
- box-shadow:none;
+ box-shadow: none;
text-align: left;
}
- .admin_settings{
+ .admin_settings {
display: block;
}
- .admin_settings .admin_right{
+
+ .admin_settings .admin_right {
width: 100%;
}
- .admin_settings .admin_left{
+
+ .admin_settings .admin_left {
background-color: var(--background-color);
- position:relative;
+ position: relative;
width: 100%;
height: auto;
padding: 0px;
border-right: 1px solid var(--border-color);
}
- .admin_leftbtn{
+
+ .admin_leftbtn {
cursor: pointer;
border: none;
display: block;
@@ -7205,58 +7816,63 @@ noscript .noscript_modal .inner .center_text p{
padding: 8px auto;
margin-left: auto;
margin-right: auto;
-
+
padding-left: 12px;
padding-top: 4px;
padding-bottom: 4px;
-
-
+
+
background-color: var(--background-color);
-
+
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
font-size: 18px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: left;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
- .admin_leftbtn:hover{
+
+ .admin_leftbtn:hover {
background-color: var(--main-color);
color: var(--sub-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
width: calc(100% - 24px);
}
- .admin_leftbtn:active{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
+
+ .admin_leftbtn:active {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
width: calc(100% - 64px);
}
- .bot_menu_area{
+ .bot_menu_area {
margin-bottom: 16px;
display: flex;
- flex-wrap : wrap;
+ flex-wrap: wrap;
width: 100%;
}
- .menubutton{
+
+ .menubutton {
display: block;
background-color: var(--background-color);
color: var(--main-color);
border-radius: 10px;
width: 25%;
height: 10dvh;
- padding:0px;
+ padding: 0px;
text-align: center;
transition: all 250ms ease-out;
text-decoration: none;
}
- .menubutton:hover{
+
+ .menubutton:hover {
background-color: var(--sub-color);
color: var(--main-color);
}
+
.menubutton svg {
width: 40%;
height: 40%;
@@ -7267,7 +7883,8 @@ noscript .noscript_modal .inner .center_text p{
vertical-align: middle;
fill: currentColor;
}
- .menubutton div{
+
+ .menubutton div {
font-family: var(--Text-fonts), sans-serif;
word-wrap: break-word;
font-size: 12px;
@@ -7276,42 +7893,49 @@ noscript .noscript_modal .inner .center_text p{
text-align: center;
margin-bottom: 15%;
}
- .offline{
- margin-top: 12px;
- }
- .online{
+
+ .offline {
margin-top: 12px;
}
- .servericon{
+ .online {
+ margin-top: 12px;
+ }
+
+ .servericon {
text-align: center;
}
- .servericon .up{
+
+ .servericon .up {
margin-top: -74px;
}
- .servericon img{
+
+ .servericon img {
object-fit: cover;
width: 100px;
height: 100px;
border-radius: 15px;
- box-shadow:0 0px 0px 0 rgba(0, 0, 0, .0);
+ box-shadow: 0 0px 0px 0 rgba(0, 0, 0, .0);
margin: 0px;
}
- .serverhead{
+ .serverhead {
text-align: center;
}
- .serverhead img{
+
+ .serverhead img {
object-fit: cover;
width: 100%;
height: 140px;
border-radius: 10px;
margin: 0px;
}
- .serverhead_set{
+
+ .serverhead_set {
text-align: center;
}
- .serverhead_set img{
+
+ .serverhead_set img {
object-fit: cover;
width: 100%;
height: 160px;
@@ -7319,43 +7943,50 @@ noscript .noscript_modal .inner .center_text p{
margin: 0px;
}
- noscript .noscript_modal{
+ noscript .noscript_modal {
border-radius: 15px;
max-width: 90%;
max-height: 90dvh;
overflow: scroll;
}
- noscript .noscript_modal .inner{
+
+ noscript .noscript_modal .inner {
margin: 24px;
}
- noscript .noscript_modal .inner .oops_icon{
+
+ noscript .noscript_modal .inner .oops_icon {
margin-top: 12px;
font-size: 48px;
}
- noscript .noscript_modal .inner h1{
+
+ noscript .noscript_modal .inner h1 {
line-height: 24px;
font-size: 24px;
}
- noscript .noscript_modal .inner p{
+
+ noscript .noscript_modal .inner p {
line-height: 16px;
font-size: 14px;
text-align: left;
}
- noscript .noscript_modal .inner .center_text{
+
+ noscript .noscript_modal .inner .center_text {
margin-top: 12px;
display: block;
}
- noscript .noscript_modal .inner .center_text p{
+
+ noscript .noscript_modal .inner .center_text p {
line-height: 14px;
font-size: 12px;
}
- .emojizone{
+ .emojizone {
display: block;
padding: 0px;
}
- .emjtex{
+
+ .emjtex {
width: auto;
margin: 0px;
border: none;
@@ -7363,15 +7994,17 @@ noscript .noscript_modal .inner .center_text p{
box-shadow: 0 1px 0 var(--border-color);
border-radius: 0px;
}
- .emjtex .fx{
+
+ .emjtex .fx {
display: block;
}
- .emojizone .tokonone{
+
+ .emojizone .tokonone {
width: auto;
height: fit-content;
}
- .tutorial_background .tutorial_modal{
+ .tutorial_background .tutorial_modal {
padding: 0px;
border-radius: 0px;
width: 100%;
@@ -7383,35 +8016,42 @@ noscript .noscript_modal .inner .center_text p{
bottom: 0;
left: 0;
}
- .tutorial_background .tutorial_modal .tutorial{
+
+ .tutorial_background .tutorial_modal .tutorial {
margin: 64px 32px;
height: calc(100% - 128px);
width: calc(100% - 64px);
}
- .tutorial_background .tutorial_modal .tutorial .page h1{
+
+ .tutorial_background .tutorial_modal .tutorial .page h1 {
line-height: 32px;
font-size: 28px;
}
- .tutorial_background .tutorial_modal .tutorial .page h2{
+
+ .tutorial_background .tutorial_modal .tutorial .page h2 {
line-height: 28px;
font-size: 22px;
}
- .tutorial_background .tutorial_modal .tutorial .page p{
+
+ .tutorial_background .tutorial_modal .tutorial .page p {
line-height: 20px;
font-size: 18px;
}
- .tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn{
- width:30%;
+
+ .tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn {
+ width: 30%;
padding: 4px 8px;
margin-left: 12px;
margin-right: 0px;
font-size: 22px;
}
- .tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn:hover{
- width:31%;
+
+ .tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn:hover {
+ width: 31%;
}
- .tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn:active{
- width:29%;
+
+ .tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn:active {
+ width: 29%;
}
}
@@ -7427,374 +8067,420 @@ noscript .noscript_modal .inner .center_text p{
background: var(--main-color);
}
- body{
+ body {
background-color: var(--dark-background-color);
}
-
- .sirobutton{
+
+ .sirobutton {
background-color: var(--dark-background-color);
- color:var(--main-color);
+ color: var(--main-color);
border: solid 1px var(--dark-border-color);
}
- .errmsg{
+ .errmsg {
background-color: color-mix(in srgb, var(--dark-sub-color) 90%, var(--error));
- color:var(--error);
+ color: var(--error);
border: 1px solid var(--error);
}
- .rolebox{
+
+ .rolebox {
background-color: var(--dark-background-color);
border: 1px solid var(--main-color);
}
- .userleftbox{
+ .userleftbox {
background-color: transparent;
border: none;
}
- .leftbutton{
+ .leftbutton {
background-color: transparent;
- color:var(--sub-color);
- }
- .leftbutton:hover{
- background-color: var(--sub-color);
- color: var(--dark-background-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
- }
- .leftbutton:active{
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05);
+ color: var(--sub-color);
}
- main{
+ .leftbutton:hover {
+ background-color: var(--sub-color);
+ color: var(--dark-background-color);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
+ }
+
+ .leftbutton:active {
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .05);
+ }
+
+ main {
background-color: var(--dark-sub-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .025);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .025);
border: 1px solid var(--dark-border-color);
}
-
- main h1{
- color:var(--sub-color);
+
+ main h1 {
+ color: var(--sub-color);
font-size: 32px;
font-family: var(--Head-fonts), sans-serif;
}
- .ueuse{
+ .ueuse {
background-color: var(--dark-sub-color);
box-shadow: 0 -1px 0 var(--dark-border-color);
border-bottom: 1px solid var(--dark-border-color);
}
- .ueuse .flebox a{
- color:var(--sub-color);
+
+ .ueuse .flebox a {
+ color: var(--sub-color);
}
- .ueuse .flebox .idbox{
+ .ueuse .flebox .idbox {
background-color: #302c2c;
border: none;
}
- .ueuse .flebox .idbox a{
- color:var(--dark-subtext-color);
+
+ .ueuse .flebox .idbox a {
+ color: var(--dark-subtext-color);
}
- .ueuse .flebox .bot{
+ .ueuse .flebox .bot {
background-color: #302c2c;
border: none;
- color:var(--main-color);
+ color: var(--main-color);
}
-
- .ueuse p{
- color:var(--background-color);
+
+ .ueuse p {
+ color: var(--background-color);
}
- .ru a p{
- color:var(--background-color);
+
+ .ru a p {
+ color: var(--background-color);
}
- .ueuse .inline{
+
+ .ueuse .inline {
background-color: #323232;
color: #F5F5F5;
}
-
- .ueuse .quote{
- color:var(--dark-text-color);
+
+ .ueuse .quote {
+ color: var(--dark-text-color);
}
- .ueuse .blur{
+
+ .ueuse .blur {
background-color: #DDDDDD;
- color: #DDDDDD;
+ color: transparent;
}
- .ueuse .blur:hover{
+
+ .ueuse .blur:hover {
background-color: var(--dark-sub-color);
color: var(--dark-text-color);
}
- .ueuse .unixtime{
+
+ .ueuse .unixtime {
background-color: #323232;
border: solid 1px #CCC;
color: #F5F5F5;
}
-
-
- .ueuse h1{
- color:var(--background-color);
+
+
+ .ueuse h1 {
+ color: var(--background-color);
}
-
- .ueuse h2{
- color:var(--background-color);
+
+ .ueuse h2 {
+ color: var(--background-color);
}
-
- .ueuse h3{
- color:var(--background-color);
+
+ .ueuse h3 {
+ color: var(--background-color);
}
-
- .ueuse center{
- color:var(--background-color);
+
+ .ueuse center {
+ color: var(--background-color);
}
-
- .ueuse a{
- color:var(--main-color);
+
+ .ueuse a {
+ color: var(--main-color);
}
-
- .ueuse .flebox .time{
- color:var(--dark-subtext-color);
+
+ .ueuse .flebox .time {
+ color: var(--dark-subtext-color);
}
-
- .ueuse .photo1 a img{
- border: 1px solid var(--dark-border-color);
- }
-
- .ueuse .photo2 a img{
+
+ .ueuse .photo1 a img {
border: 1px solid var(--dark-border-color);
}
- .ueuse .photo3 a img{
+ .ueuse .photo2 a img {
border: 1px solid var(--dark-border-color);
}
- .ueuse .photo4 a img{
+ .ueuse .photo3 a img {
border: 1px solid var(--dark-border-color);
}
-
- .ueuse .video1 video{
+
+ .ueuse .photo4 a img {
border: 1px solid var(--dark-border-color);
}
-
- .ueuse .abi{
+
+ .ueuse .video1 video {
+ border: 1px solid var(--dark-border-color);
+ }
+
+ .ueuse .abi {
background-color: var(--dark-background-color);
border: 1px solid var(--dark-border-color);
}
- .ueuse .abi p{
- color:var(--sub-color);
+ .ueuse .abi p {
+ color: var(--sub-color);
}
-
- .ueuse .abi .back{
+
+ .ueuse .abi .back {
background-color: var(--main-color);
border: none;
}
-
- .ueuse .abi .back h1{
- color:var(--text-color);
- }
- .ueuse .abi h1{
- color:var(--dark-text-color);
+
+ .ueuse .abi .back h1 {
+ color: var(--text-color);
}
- .ueuse .abi h2{
- color:var(--dark-text-color);
+
+ .ueuse .abi h1 {
+ color: var(--dark-text-color);
}
- .ueuse .abi h3{
- color:var(--dark-text-color);
+
+ .ueuse .abi h2 {
+ color: var(--dark-text-color);
}
- .ueuse .abi .h3s{
- color:var(--dark-subtext-color);
+
+ .ueuse .abi h3 {
+ color: var(--dark-text-color);
}
- .ueuse .favbox .favbtn{
+
+ .ueuse .abi .h3s {
+ color: var(--dark-subtext-color);
+ }
+
+ .ueuse .favbox .favbtn {
background-color: var(--dark-background-color);
- color:var(--main-color);
+ color: var(--main-color);
border: solid 1px var(--dark-border-color);
}
- .ueuse .favbox .favbtn:hover{
- background-color: var(--main-color);
- color:var(--sub-color);
- border: solid 1px var(--main-color);
- }
- .ueuse .favbox .favbtn_after{
- background-color: var(--main-color);
- color:var(--sub-color);
- border: solid 1px var(--main-color);
- }
- .ueuse .favbox .tuduki{
- background-color: var(--dark-background-color);
- color:var(--main-color);
- border: solid 1px var(--dark-border-color);
- }
- .ueuse .favbox .tuduki:hover{
- background-color: var(--main-color);
- color:var(--sub-color);
- border: solid 1px var(--main-color);
- }
- .ueuse .favbox .reuse{
- background-color: var(--dark-background-color);
- color:var(--main-color);
- border: solid 1px var(--dark-border-color);
- }
- .ueuse .favbox .reuse:hover{
- background-color: var(--main-color);
- color:var(--sub-color);
- border: solid 1px var(--main-color);
- }
- .ueuse .favbox .reuse_after{
- background-color: var(--main-color);
- color:var(--sub-color);
- border: solid 1px var(--main-color);
- }
- .ueuse .favbox .etcbtn{
- background-color: var(--dark-background-color);
- color:var(--main-color);
- border: solid 1px var(--dark-border-color);
- }
-
- .ueuse .favbox .etcbtn:hover{
+
+ .ueuse .favbox .favbtn:hover {
background-color: var(--main-color);
color: var(--sub-color);
border: solid 1px var(--main-color);
}
- .ueuse .favbox .delbtn{
+
+ .ueuse .favbox .favbtn_after {
+ background-color: var(--main-color);
+ color: var(--sub-color);
+ border: solid 1px var(--main-color);
+ }
+
+ .ueuse .favbox .tuduki {
background-color: var(--dark-background-color);
- color:var(--error);
+ color: var(--main-color);
border: solid 1px var(--dark-border-color);
}
- .ueuse .favbox .delbtn:hover{
+
+ .ueuse .favbox .tuduki:hover {
+ background-color: var(--main-color);
+ color: var(--sub-color);
+ border: solid 1px var(--main-color);
+ }
+
+ .ueuse .favbox .reuse {
+ background-color: var(--dark-background-color);
+ color: var(--main-color);
+ border: solid 1px var(--dark-border-color);
+ }
+
+ .ueuse .favbox .reuse:hover {
+ background-color: var(--main-color);
+ color: var(--sub-color);
+ border: solid 1px var(--main-color);
+ }
+
+ .ueuse .favbox .reuse_after {
+ background-color: var(--main-color);
+ color: var(--sub-color);
+ border: solid 1px var(--main-color);
+ }
+
+ .ueuse .favbox .etcbtn {
+ background-color: var(--dark-background-color);
+ color: var(--main-color);
+ border: solid 1px var(--dark-border-color);
+ }
+
+ .ueuse .favbox .etcbtn:hover {
+ background-color: var(--main-color);
+ color: var(--sub-color);
+ border: solid 1px var(--main-color);
+ }
+
+ .ueuse .favbox .delbtn {
+ background-color: var(--dark-background-color);
+ color: var(--error);
+ border: solid 1px var(--dark-border-color);
+ }
+
+ .ueuse .favbox .delbtn:hover {
background-color: var(--error);
color: var(--background-color);
border: solid 1px var(--error);
}
- .ueuse .favbox .addabi{
+
+ .ueuse .favbox .addabi {
background-color: var(--dark-background-color);
- color:var(--main-color);
+ color: var(--main-color);
border: solid 1px var(--dark-border-color);
}
- .ueuse .favbox .addabi:hover{
+
+ .ueuse .favbox .addabi:hover {
background-color: var(--main-color);
- color: var(--sub-color);;
+ color: var(--sub-color);
+ ;
border: solid 1px var(--main-color);
}
- .ueuse .favbox .share{
+
+ .ueuse .favbox .share {
background-color: var(--dark-background-color);
- color:var(--main-color);
+ color: var(--main-color);
border: solid 1px var(--dark-border-color);
}
- .ueuse .favbox .share:hover{
+
+ .ueuse .favbox .share:hover {
background-color: var(--main-color);
- color: var(--sub-color);;
+ color: var(--sub-color);
+ ;
border: solid 1px var(--main-color);
}
- .ueuse .favbox .bookmark{
+
+ .ueuse .favbox .bookmark {
background-color: var(--dark-background-color);
- color:var(--main-color);
+ color: var(--main-color);
border: solid 1px var(--dark-border-color);
}
- .ueuse .favbox .bookmark:hover{
+
+ .ueuse .favbox .bookmark:hover {
background-color: var(--main-color);
- color: var(--sub-color);;
+ color: var(--sub-color);
+ ;
border: solid 1px var(--main-color);
}
- .ueuse .favbox .bookmark_after{
+
+ .ueuse .favbox .bookmark_after {
background-color: var(--main-color);
color: var(--sub-color);
border: solid 1px var(--main-color);
}
- .ueuse hr{
+ .ueuse hr {
border-top: 1px solid var(--dark-border-color);
}
- .ueuse .nsfw{
+
+ .ueuse .nsfw {
border: 1px solid var(--dark-border-color);
background-color: var(--dark-background-color);
}
- .ueuse .nsfw_main{
+
+ .ueuse .nsfw_main {
border: 1px solid var(--dark-border-color);
}
- .ueuse .profilebox p{
- color:var(--dark-text-color);
- }
- .ueuse .flebox .user a{
- color:var(--sub-color);
+ .ueuse .profilebox p {
+ color: var(--dark-text-color);
}
- .ueuse .flebox .user .idbox{
+ .ueuse .flebox .user a {
+ color: var(--sub-color);
+ }
+
+ .ueuse .flebox .user .idbox {
background-color: #302c2c;
border: none;
}
- .ueuse .flebox .user .idbox a{
- color:var(--dark-subtext-color);
- }
- .ueuse .flebox .user .bot{
- background-color: #302c2c;
- border: none;
- color:var(--main-color);
- }
-
- .ueuse .reuse_box{
- background-color: var(--dark-background-color);
- border: 1px solid var(--dark-border-color);
- }
- .ueuse .reuse_box .reuse_flebox a {
- color:var(--sub-color);
- }
- .ueuse .reuse_box .reuse_flebox .idbox{
- background-color: #302c2c;
- border: none;
- }
- .ueuse .reuse_box .nsfw{
- border: none;
- background-color: var(--dark-sub-color);
- }
- .ueuse .youtube_and_nicovideo_player iframe{
- border: 1px solid var(--dark-border-color);
- }
-
- .userheader h2{
- color:var(--sub-color);
- }
-
- .userheader p{
+ .ueuse .flebox .user .idbox a {
color: var(--dark-subtext-color);
}
- .userheader span{
+ .ueuse .flebox .user .bot {
+ background-color: #302c2c;
+ border: none;
+ color: var(--main-color);
+ }
+
+ .ueuse .reuse_box {
+ background-color: var(--dark-background-color);
+ border: 1px solid var(--dark-border-color);
+ }
+
+ .ueuse .reuse_box .reuse_flebox a {
+ color: var(--sub-color);
+ }
+
+ .ueuse .reuse_box .reuse_flebox .idbox {
+ background-color: #302c2c;
+ border: none;
+ }
+
+ .ueuse .reuse_box .nsfw {
+ border: none;
+ background-color: var(--dark-sub-color);
+ }
+
+ .ueuse .youtube_and_nicovideo_player iframe {
+ border: 1px solid var(--dark-border-color);
+ }
+
+ .userheader h2 {
+ color: var(--sub-color);
+ }
+
+ .userheader p {
+ color: var(--dark-subtext-color);
+ }
+
+ .userheader span {
color: var(--subtext-color);
}
-
- .userheader .profile p{
- color:var(--sub-color);
+
+ .userheader .profile p {
+ color: var(--sub-color);
}
-
- .userheader .rolebox{
+
+ .userheader .rolebox {
background-color: var(--dark-sub-color);
border: 1px solid var(--main-color);
}
-
- .fzone .follow .fbtn{
- background-color: var(--main-color);
- color:var(--sub-color);
- }
- .fzone .follow .fbtn:hover{
+
+ .fzone .follow .fbtn {
background-color: var(--main-color);
color: var(--sub-color);
}
- .fzone .follow .fbtn_no{
+ .fzone .follow .fbtn:hover {
+ background-color: var(--main-color);
+ color: var(--sub-color);
+ }
+
+ .fzone .follow .fbtn_no {
background-color: var(--dark-sub-color);
- color:var(--main-color);
+ color: var(--main-color);
border: 1px solid var(--main-color);
}
- .fzone .follow .fbtn_no:hover{
+
+ .fzone .follow .fbtn_no:hover {
background-color: var(--dark-sub-color);
color: var(--main-color);
}
- .fzone .follow .fbtn_un{
+
+ .fzone .follow .fbtn_un {
cursor: pointer;
border: none;
display: block;
- width:120px;
+ width: 120px;
padding: 8px auto;
margin-left: auto;
@@ -7809,45 +8495,51 @@ noscript .noscript_modal .inner .center_text p{
background-color: var(--dark-sub-color);
border-radius: 50px;
- color:var(--main-color);
+ color: var(--main-color);
border: 1px solid var(--main-color);
font-size: 16px;
font-family: var(--Head-fonts), sans-serif;
font-weight: normal;
- text-decoration:none;
+ text-decoration: none;
text-align: center;
transition: box-shadow 250ms ease-in-out;
transition: width 250ms ease-out;
transition: all 250ms ease-out;
}
- .fzone .follow .fbtn_un:hover{
+
+ .fzone .follow .fbtn_un:hover {
background-color: var(--dark-sub-color);
color: var(--dark-text-color);
- width:125px;
- }
- .fzone .follow .fbtn_un:active{
- width:115px;
+ width: 125px;
}
- .fzone .time p{
- color:var(--dark-subtext-color);
+ .fzone .follow .fbtn_un:active {
+ width: 115px;
}
- .fzone .time a{
- color:var(--dark-subtext-color);
+
+ .fzone .time p {
+ color: var(--dark-subtext-color);
}
- .fzone .follow_yes{
+
+ .fzone .time a {
+ color: var(--dark-subtext-color);
+ }
+
+ .fzone .follow_yes {
background-color: var(--dark-sub-color);
}
- .fzone .follow_yes p{
- color:var(--sub-color);
+
+ .fzone .follow_yes p {
+ color: var(--sub-color);
}
-
- .fzone .follow .report{
+
+ .fzone .follow .report {
background-color: var(--dark-background-color);
- color:var(--main-color);
+ color: var(--main-color);
border: 1px solid var(--main-color);
}
- .fzone .follow .report:hover{
+
+ .fzone .follow .report:hover {
background-color: #302c2c;
color: var(--error);
border: 1px solid var(--error);
@@ -7855,122 +8547,134 @@ noscript .noscript_modal .inner .center_text p{
- .rightbox{
+ .rightbox {
background-color: var(--dark-background-color);
- border:none;
+ border: none;
}
-
- .rightbox h1{
+
+ .rightbox h1 {
color: var(--dark-subtext-color);
}
- .rightbox .noticebox{
+ .rightbox .noticebox {
background-color: var(--dark-sub-color);
border: none;
}
-
- .rightbox .noticebox h4{
+
+ .rightbox .noticebox h4 {
color: var(--background-color);
}
-
- .rightbox .noticebox p{
- color: var(--background-color);
- }
- .rightbox .noticebox a{
- color:var(--main-color);
- }
- .rightbox .noticebox .makeup p{
- color:var(--sub-color);;
- }
-
- .rightbox .noticebox .makeup a{
- color:var(--main-color);
- }
- .rightbox .noticebox .time p{
- color:var(--dark-subtext-color);
- }
- .rightbox .btmbox h2{
- color: var(--dark-subtext-color);
- }
-
- .rightbox .btmbox h3{
- color: var(--dark-subtext-color);
- }
-
- .rightbox .btmbox p{
+ .rightbox .noticebox p {
color: var(--background-color);
}
-
- .rightbox .btmbox a{
- color:var(--main-color);
+
+ .rightbox .noticebox a {
+ color: var(--main-color);
}
- .send_progress{
+ .rightbox .noticebox .makeup p {
+ color: var(--sub-color);
+ ;
+ }
+
+ .rightbox .noticebox .makeup a {
+ color: var(--main-color);
+ }
+
+ .rightbox .noticebox .time p {
+ color: var(--dark-subtext-color);
+ }
+
+ .rightbox .btmbox h2 {
+ color: var(--dark-subtext-color);
+ }
+
+ .rightbox .btmbox h3 {
+ color: var(--dark-subtext-color);
+ }
+
+ .rightbox .btmbox p {
+ color: var(--background-color);
+ }
+
+ .rightbox .btmbox a {
+ color: var(--main-color);
+ }
+
+ .send_progress {
box-shadow: 0 -1px 0 var(--dark-border-color);
}
- .sendbox{
+ .sendbox {
border-top: solid 1px var(--dark-border-color);
background-color: var(--dark-sub-color);
box-shadow: 0 1px 0 var(--dark-border-color);
}
-
- .sendbox p{
- color: var(--background-color);;
- }
-
- .sendbox textarea{
- background-color: var(--dark-sub-color);
- color:var(--dark-subtext-color);
- }
- .sendbox .fxbox p{
- color:var(--sub-color);
+
+ .sendbox p {
+ color: var(--background-color);
+ ;
}
- .sendbox .emoji_picker{
+ .sendbox textarea {
+ background-color: var(--dark-sub-color);
+ color: var(--dark-subtext-color);
+ }
+
+ .sendbox .fxbox p {
+ color: var(--sub-color);
+ }
+
+ .sendbox .emoji_picker {
background-color: var(--dark-background-color);
border: solid 1px var(--dark-border-color);
}
- .sendbox .emoji_picker p{
+
+ .sendbox .emoji_picker p {
color: var(--dark-subtext-color);
}
- .sendbox .emoji_picker .emoji_picker_flex .one_emoji{
+
+ .sendbox .emoji_picker .emoji_picker_flex .one_emoji {
background-color: var(--dark-background-color);
}
- .sendbox .emoji_picker .emoji_picker_flex .one_emoji:hover{
+
+ .sendbox .emoji_picker .emoji_picker_flex .one_emoji:hover {
background-color: color-mix(in srgb, var(--dark-background-color) 95%, #FFF);
}
- .sendbox .emoji_picker .tokonone p{
- color:var(--dark-text-color);
- }
- .sendbox .harmful_notice{
- background-color: color-mix(in srgb, var(--dark-sub-color) 90%, var(--warn));
- border: 1px solid var(--warn);
- }
- .sendbox .harmful_notice p{
+ .sendbox .emoji_picker .tokonone p {
color: var(--dark-text-color);
}
- .emjtex{
+ .sendbox .harmful_notice {
+ background-color: color-mix(in srgb, var(--dark-sub-color) 90%, var(--warn));
+ border: 1px solid var(--warn);
+ }
+
+ .sendbox .harmful_notice p {
+ color: var(--dark-text-color);
+ }
+
+ .emjtex {
background-color: var(--dark-sub-color);
border-color: var(--dark-border-color);
box-shadow: var(--dark-border-color);
}
- .emjtex:hover{
+
+ .emjtex:hover {
background-color: color-mix(in srgb, var(--dark-sub-color) 95%, #FFF);
}
-
- .emjtex h3{
- color:var(--background-color);
- }
-
- .emjtex p{
- color:var(--dark-subtext-color);
+
+ .emjtex h3 {
+ color: var(--background-color);
}
- .rp .totop{
+ .emjtex p {
+ color: var(--dark-subtext-color);
+ }
+
+ .rp .totop {
width: 14px;
height: 8px;
border-left: 2px solid var(--dark-text-color);
@@ -7978,216 +8682,235 @@ noscript .noscript_modal .inner .center_text p{
border-bottom-left-radius: 6px;
}
- .formarea{
+ .formarea {
background-color: var(--dark-sub-color);
}
-
- .formarea p{
- color:var(--dark-text-color);
- }
- .formarea li{
- color:var(--dark-text-color);
+
+ .formarea p {
+ color: var(--dark-text-color);
}
- .formarea .update_box{
+ .formarea li {
+ color: var(--dark-text-color);
+ }
+
+ .formarea .update_box {
background-color: var(--dark-background-color);
border: none;
}
- .formarea .update_box h1{
- color:var(--dark-text-color);
+
+ .formarea .update_box h1 {
+ color: var(--dark-text-color);
}
- .formarea .update_box h2{
- color:var(--dark-text-color);
+
+ .formarea .update_box h2 {
+ color: var(--dark-text-color);
}
- .formarea .update_box .update_text{
+
+ .formarea .update_box .update_text {
background-color: var(--dark-sub-color);
border: none;
}
- .formarea .update_box .update_text p{
- color:var(--dark-text-color);
+
+ .formarea .update_box .update_text p {
+ color: var(--dark-text-color);
}
- .formarea table{
- color:var(--dark-text-color);
+ .formarea table {
+ color: var(--dark-text-color);
}
-
+
.modal-content {
background-color: var(--dark-sub-color);
}
-
- .modal-content textarea{
+
+ .modal-content textarea {
background-color: var(--dark-sub-color);
- color:var(--dark-subtext-color);
- }
- .modal-content p{
- color:var(--dark-subtext-color);
- }
-
- .modal-content h1{
- color:var(--background-color);
+ color: var(--dark-subtext-color);
}
- .modal-content .fbtn_no{
+ .modal-content p {
+ color: var(--dark-subtext-color);
+ }
+
+ .modal-content h1 {
+ color: var(--background-color);
+ }
+
+ .modal-content .fbtn_no {
background-color: var(--dark-sub-color);
- color:var(--main-color);
+ color: var(--main-color);
border: 1px solid var(--main-color);
}
- .modal-content .fbtn_no:hover{
+
+ .modal-content .fbtn_no:hover {
background-color: var(--dark-sub-color);
color: var(--main-color);
}
-
- .modal-content .action_userlist{
+
+ .modal-content .action_userlist {
background-color: var(--dark-background-color);
- border:none;
+ border: none;
}
- .modal-content .action_userlist .userabout .username a{
- color:var(--dark-text-color);
+
+ .modal-content .action_userlist .userabout .username a {
+ color: var(--dark-text-color);
}
- .modal-content .action_userlist .userabout .userid a{
- color:var(--dark-subtext-color);
+
+ .modal-content .action_userlist .userabout .userid a {
+ color: var(--dark-subtext-color);
+ }
+
+ .modal-content .scope_desc{
+ color: var(--dark-text-color);
}
.inbox {
background: var(--dark-background-color);
color: var(--background-color);
border: 1px solid var(--dark-border-color);
- }
-
+ }
+
.inbox::placeholder {
color: var(--subtext-color);
}
-
+
.inbox:hover {
outline: none;
border: 1px solid var(--main-color);
}
-
+
.inbox:focus {
outline: none;
border: 1px solid var(--main-color);
border-bottom: 3px solid var(--main-color);
}
- .botbox{
+
+ .botbox {
border-top: 1px solid var(--dark-sub-color);
}
- .btmbutton{
+ .btmbutton {
background-color: var(--dark-background-color);
- color:var(--background-color);
+ color: var(--background-color);
border: none;
}
- .btmbutton:hover{
+
+ .btmbutton:hover {
background-color: var(--main-color);
color: var(--background-color);
}
-
- .btmbutton_on{
+
+ .btmbutton_on {
background-color: var(--main-color);
- color:#FF4444;
+ color: #FF4444;
}
-
- .server_code{
+
+ .server_code {
background-color: var(--dark-background-color);
border: 1px solid var(--dark-border-color);
}
- .server_code details{
+
+ .server_code details {
color: var(--dark-subtext-color);
}
- .server_code p{
+
+ .server_code p {
color: var(--dark-subtext-color);
}
- .terms{
+ .terms {
background-color: var(--dark-sub-color);
border: solid 1px var(--dark-border-color);
}
-
- .terms h1{
- color: var(--dark-text-color);
- }
-
- .terms h2{
- color: var(--dark-text-color);
- }
-
- .terms h3{
- color: var(--dark-text-color);
- }
-
- .terms h4{
- color: var(--dark-text-color);
- }
-
- .terms p{
- color: var(--dark-text-color);
- }
-
- .terms .code{
- background-color: var(--dark-subtext-color);
- }
-
- .terms .code p{
- color: var(--text-color);
- }
-
- .terms ul{
- color: var(--background-color);
- }
-
- .terms .p2c{
- color: var(--dark-text-color);
- }
-
- .terms .p3{
- color: var(--dark-text-color);
- }
- .terms .sp2c{
- color: var(--dark-text-color);
- }
-
- .terms .sp3{
- color: var(--dark-text-color);
- }
-
- .terms .err404 h1{
- color: var(--dark-text-color);
- }
-
- .terms .err404 p{
+
+ .terms h1 {
color: var(--dark-text-color);
}
- .this{
- background-color: color-mix(in srgb, var(--link-color) 30%, var(--dark-background-color))!important;
+ .terms h2 {
+ color: var(--dark-text-color);
+ }
+
+ .terms h3 {
+ color: var(--dark-text-color);
+ }
+
+ .terms h4 {
+ color: var(--dark-text-color);
+ }
+
+ .terms p {
+ color: var(--dark-text-color);
+ }
+
+ .terms .code {
+ background-color: var(--dark-subtext-color);
+ }
+
+ .terms .code p {
+ color: var(--text-color);
+ }
+
+ .terms ul {
+ color: var(--background-color);
+ }
+
+ .terms .p2c {
+ color: var(--dark-text-color);
+ }
+
+ .terms .p3 {
+ color: var(--dark-text-color);
+ }
+
+ .terms .sp2c {
+ color: var(--dark-text-color);
+ }
+
+ .terms .sp3 {
+ color: var(--dark-text-color);
+ }
+
+ .terms .err404 h1 {
+ color: var(--dark-text-color);
+ }
+
+ .terms .err404 p {
+ color: var(--dark-text-color);
+ }
+
+ .this {
+ background-color: color-mix(in srgb, var(--link-color) 30%, var(--dark-background-color)) !important;
border-top: solid 1px var(--dark-border-color);
}
- .notification{
+ .notification {
background-color: var(--dark-sub-color);
border-bottom: solid 1px var(--dark-border-color);
}
+
.notification:first-child {
border-top: solid 1px var(--dark-border-color);
}
- .notification .flebox a{
- color:var(--dark-subtext-color)5;
- }
-
- .notification p{
- color:var(--background-color);
- }
-
- .notification h3{
- color:var(--dark-subtext-color);
+ .notification .flebox a {
+ color: var(--dark-subtext-color)5;
}
- .notification .inline{
+ .notification p {
+ color: var(--background-color);
+ }
+
+ .notification h3 {
+ color: var(--dark-subtext-color);
+ }
+
+ .notification .inline {
width: fit-content;
margin-left: 4px;
margin-right: 4px;
@@ -8205,17 +8928,19 @@ noscript .noscript_modal .inner .center_text p{
vertical-align: top;
}
- .notification h1{
- color:var(--dark-text-color);
+ .notification h1 {
+ color: var(--dark-text-color);
}
- .notification h2{
- color:var(--dark-text-color);
+
+ .notification h2 {
+ color: var(--dark-text-color);
}
- .notification h3{
- color:var(--dark-text-color);
+
+ .notification h3 {
+ color: var(--dark-text-color);
}
-
- .notification .quote{
+
+ .notification .quote {
width: fit-content;
border-left: 5px solid;
border-radius: 5px;
@@ -8225,253 +8950,296 @@ noscript .noscript_modal .inner .center_text p{
padding-right: 6px;
padding-top: 4px;
padding-bottom: 4px;
- color:var(--dark-text-color);
+ color: var(--dark-text-color);
text-decoration: none;
font-family: var(--Text-fonts), sans-serif;
font-weight: normal;
}
-
- .notification .blur{
+
+ .notification .blur {
background-color: #F5F5F5;
color: #F5F5F5;
}
- .notification .blur:hover{
+
+ .notification .blur:hover {
background-color: var(--notification-color);
color: var(--dark-text-color);
}
-
-
- .notification .flebox .time{
- color:var(--dark-subtext-color);
+
+
+ .notification .flebox .time {
+ color: var(--dark-subtext-color);
}
- .notification .mta{
+ .notification .mta {
background-color: #302c2c;
}
- .notification .mta:hover{
+
+ .notification .mta:hover {
font-size: 14px;
background-color: var(--main-color);
- color:var(--dark-background-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
- }
-
- .notification a{
- color:var(--main-color);
- }
- .tokonone p{
- color:var(--dark-subtext-color);
+ color: var(--dark-background-color);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
}
- .ueuse .mta{
+ .notification a {
+ color: var(--main-color);
+ }
+
+ .tokonone p {
+ color: var(--dark-subtext-color);
+ }
+
+ .ueuse .mta {
background-color: #302c2c;
}
- .ueuse .mta:hover{
+
+ .ueuse .mta:hover {
font-size: 14px;
background-color: var(--main-color);
- color:var(--dark-background-color);
- box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2);
+ color: var(--dark-background-color);
+ box-shadow: 0 0px 48px 0 rgba(0, 0, 0, .2);
}
- .ueuse .unixtime{
+ .ueuse .unixtime {
padding-left: 6px;
padding-right: 6px;
padding-top: 2px;
padding-bottom: 2px;
}
-
- .tlchange{
+
+ .tlchange {
background-color: var(--dark-sub-color);
box-shadow: 0 1px 0 var(--dark-border-color);
}
- .tlchange .btn{
+
+ .tlchange .btn {
background: var(--dark-sub-color);
color: var(--background-color);
}
- .tlchange .on{
- color:var(--main-color);
- border-bottom: 1px solid var(--main-color);
- }
-
- .select_utl{
- background-color: var(--dark-sub-color);
- }
-
- .select_utl .btn{
- background: var(--dark-sub-color);
- color: var(--border-color);
- }
- .select_utl .btmline{
+ .tlchange .on {
color: var(--main-color);
border-bottom: 1px solid var(--main-color);
}
- .admin_settings .admin_left{
+
+ .select_utl {
+ background-color: var(--dark-sub-color);
+ }
+
+ .select_utl .btn {
+ background: var(--dark-sub-color);
+ color: var(--border-color);
+ }
+
+ .select_utl .btmline {
+ color: var(--main-color);
+ border-bottom: 1px solid var(--main-color);
+ }
+
+ .admin_settings .admin_left {
background-color: var(--dark-sub-color);
border-right: solid 1px var(--dark-border-color);
}
- .admin_leftbtn{
+
+ .admin_leftbtn {
background-color: var(--dark-sub-color);
- color:var(--main-color);
+ color: var(--main-color);
}
- .admin_leftbtn:hover{
+
+ .admin_leftbtn:hover {
background-color: var(--main-color);
color: var(--dark-background-color);
}
- .admin_userinfo .icon .tatext h2{
- color:var(--background-color);
+ .admin_userinfo .icon .tatext h2 {
+ color: var(--background-color);
}
- .admin_userinfo .icon .tatext p{
+
+ .admin_userinfo .icon .tatext p {
color: var(--dark-subtext-color);
}
- .admin_userinfo .profile p{
- color:var(--dark-subtext-color);
+
+ .admin_userinfo .profile p {
+ color: var(--dark-subtext-color);
}
- .admin_userinfo .rolebox{
+
+ .admin_userinfo .rolebox {
background-color: var(--dark-background-color);
border: 1px solid var(--main-color);
}
- .admin_userinfo .rolebox p{
- color:var(--main-color);
+
+ .admin_userinfo .rolebox p {
+ color: var(--main-color);
}
- .admin_userinfo .p2{
+
+ .admin_userinfo .p2 {
color: var(--dark-subtext-color);
}
- .admin_userinfo .about p{
+
+ .admin_userinfo .about p {
color: var(--background-color);
}
- .delbox .delbtn{
+
+ .delbox .delbtn {
background-color: #302c2c;
- color:var(--error);
+ color: var(--error);
}
-
- .delbox .delbtn:hover{
+
+ .delbox .delbtn:hover {
background-color: var(--error);
color: var(--background-color);
}
- .error{
+ .error {
background-color: var(--dark-sub-color);
border: 1px solid var(--main-color);
}
- .error h1{
+
+ .error h1 {
background-color: var(--main-color);
color: var(--dark-background-color);
}
- .error p{
+
+ .error p {
color: var(--background-color);
}
- .menubutton{
+ .menubutton {
background-color: var(--dark-sub-color);
color: var(--main-color);
}
- .menubutton:hover{
+
+ .menubutton:hover {
background-color: var(--dark-background-color);
color: var(--main-color);
}
- .mini_irobtn{
+
+ .mini_irobtn {
background-color: var(--dark-background-color);
color: var(--main-color);
}
- .mini_irobtn:hover{
+
+ .mini_irobtn:hover {
background-color: var(--main-color);
- color: var(--dark-background-color);;
+ color: var(--dark-background-color);
+ ;
}
- .overview_cnt_l{
+
+ .overview_cnt_l {
background-color: var(--dark-background-color);
border: solid 1px var(--dark-border-color);
}
- .overview_cnt_r{
+
+ .overview_cnt_r {
background-color: var(--dark-background-color);
border: solid 1px var(--dark-border-color);
}
- .overview p{
+
+ .overview p {
color: var(--dark-text-color);
font-size: 32px;
font-family: var(--Mono-fonts), sans-serif;
font-weight: bold;
}
- .overview .p2{
+
+ .overview .p2 {
color: var(--dark-subtext-color);
font-size: 12px;
font-family: var(--Mono-fonts), sans-serif;
font-weight: normal;
}
- .servericon img{
- box-shadow:none;
+
+ .servericon img {
+ box-shadow: none;
}
- .f_c_area{
+
+ .f_c_area {
background-color: var(--dark-sub-color);
}
- .f_c_area .fcnt p{
+
+ .f_c_area .fcnt p {
color: var(--dark-text-color);
}
- .userheader .profile p a{
- color:var(--main-color);
+ .userheader .profile p a {
+ color: var(--main-color);
}
- .emojibox_button{
+ .emojibox_button {
background-color: var(--dark-sub-color);
- color:var(--main-color);
+ color: var(--main-color);
}
- .emojibox_button:hover{
+
+ .emojibox_button:hover {
background-color: color-mix(in srgb, var(--dark-sub-color) 90%, var(--error));
color: var(--error);
}
- .graph{
+
+ .graph {
background-color: var(--dark-background-color);
border: solid 1px var(--dark-background-color);
}
- .graph .per{
+
+ .graph .per {
background-color: var(--main-color);
}
- noscript .noscript_modal{
+
+ noscript .noscript_modal {
background-color: var(--dark-background-color);
}
- noscript .noscript_modal .inner h1{
- color:var(--dark-text-color);
+
+ noscript .noscript_modal .inner h1 {
+ color: var(--dark-text-color);
}
- noscript .noscript_modal .inner p{
- color:var(--dark-text-color);
+
+ noscript .noscript_modal .inner p {
+ color: var(--dark-text-color);
}
- noscript .noscript_modal .inner .center_text p{
+
+ noscript .noscript_modal .inner .center_text p {
line-height: 16px;
margin: 0px;
text-align: center;
- color:#CCC;
+ color: #CCC;
font-size: 14px;
font-family: var(--Mono-fonts), 'Yu Mincho Regular', 'ヒラギノ角ゴシック', sans-serif;
font-weight: normal;
}
- .tutorial_background .tutorial_modal{
+ .tutorial_background .tutorial_modal {
background-color: var(--dark-background-color);
}
- .tutorial_background .tutorial_modal .tutorial .page h1{
- color:var(--dark-text-color);
+
+ .tutorial_background .tutorial_modal .tutorial .page h1 {
+ color: var(--dark-text-color);
}
- .tutorial_background .tutorial_modal .tutorial .page h2{
- color:var(--dark-text-color);
+
+ .tutorial_background .tutorial_modal .tutorial .page h2 {
+ color: var(--dark-text-color);
}
- .tutorial_background .tutorial_modal .tutorial .page p{
- color:var(--dark-text-color);
+
+ .tutorial_background .tutorial_modal .tutorial .page p {
+ color: var(--dark-text-color);
}
- .tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn{
+
+ .tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn {
background-color: var(--main-color);
- color:var(--dark-sub-color);
+ color: var(--dark-sub-color);
}
- .tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn:hover{
+
+ .tutorial_background .tutorial_modal .tutorial .page .btm_area .iro_btn:hover {
background-color: var(--main-color);
- color:var(--dark-sub-color);
+ color: var(--dark-sub-color);
}
- .tutorial_background .tutorial_modal .tutorial .page .btm_area .backcolor{
+
+ .tutorial_background .tutorial_modal .tutorial .page .btm_area .backcolor {
background-color: var(--dark-background-color);
color: var(--dark-text-color);
}
- .tutorial_background .tutorial_modal .tutorial .page .btm_area .backcolor:hover{
+
+ .tutorial_background .tutorial_modal .tutorial .page .btm_area .backcolor:hover {
background-color: var(--dark-background-color);
color: var(--dark-text-color);
}
@@ -8480,56 +9248,87 @@ noscript .noscript_modal .inner .center_text p{
background-color: var(--dark-background-color);
border: solid 1px var(--dark-sub-color);
}
+
.ueuse_popup_back .ueuse_popup_menu button {
background-color: var(--dark-background-color);
color: var(--dark-text-color);
}
+
.ueuse_popup_back .ueuse_popup_menu button:hover {
background-color: var(--dark-sub-color);
color: var(--main-color);
}
-
- .emoji_admin{
+
+ .emoji_admin {
background-color: var(--dark-background-color);
border: none;
}
+
.emoji_admin details {
- color:var(--dark-text-color);
+ color: var(--dark-text-color);
}
+
.emoji_admin summary {
- color:var(--dark-text-color);
+ color: var(--dark-text-color);
}
- .emoji_admin p{
- color:var(--dark-text-color);
+
+ .emoji_admin p {
+ color: var(--dark-text-color);
}
-
+
.actionlog {
background-color: var(--dark-background-color);
border: solid 1px var(--dark-border-color);
}
+
.actionlog details {
color: var(--dark-text-color);
}
+
.actionlog details .INFO {
background-color: color-mix(in srgb, var(--dark-background-color) 90%, var(--success));
}
+
.actionlog details .NOTICE {
background-color: color-mix(in srgb, var(--dark-background-color) 90%, var(--good));
}
+
.actionlog details .WARNING {
background-color: color-mix(in srgb, var(--dark-background-color) 90%, var(--warn));
}
+
.actionlog details .ERROR {
background-color: color-mix(in srgb, var(--dark-background-color) 90%, var(--danger));
}
+
.actionlog details .CRITICAL {
background-color: color-mix(in srgb, var(--dark-background-color) 90%, var(--error));
}
+
.actionlog p {
color: var(--dark-text-color);
}
+
.switch_label {
background: var(--dark-background-color);
border: solid 1px var(--dark-border-color);
}
+
+ .auth_clientbox{
+ background-color: var(--dark-background-color);
+ border: solid 1px var(--dark-border-color);
+ }
+ .auth_clientbox .flexbox p{
+ color: var(--dark-text-color);
+ }
+ .auth_clientbox .about .scopebox{
+ border: solid 1px var(--dark-border-color);
+ background-color: var(--dark-sub-color);
+ }
+ .auth_clientbox .accountbox .flexbox p{
+ color: var(--dark-text-color);
+ }
+ .auth_clientbox .callbackbox p{
+ color: var(--dark-text-color);
+ }
}
\ No newline at end of file
diff --git a/css/style.css b/css/style.css
index ffb62e3..1657775 100644
--- a/css/style.css
+++ b/css/style.css
@@ -106,7 +106,7 @@ body{
margin-top: 64px;
margin-bottom: 100px;
border-radius: 25px;
- background-color: var(--background-color);
+ background-color: var(--tl-color);
box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15);
}
@@ -205,7 +205,7 @@ body{
width: calc(50% - 52px);
height: 5dvh;
border-radius: 15px;
- background-color: var(--sub-color);
+ background-color: var(--background-color);
border: solid 1px var(--border-color);
padding: 18px;
}
@@ -229,8 +229,8 @@ body{
word-wrap: break-word;
line-height: 24px;
color: var(--text-color);
- font-size: 20px;
- font-family: var(--Text-fonts), sans-serif;
+ font-size: 24px;
+ font-family: var(--Mono-fonts), sans-serif;
font-weight: bold;
}
diff --git a/errorpage/httperror.php b/errorpage/httperror.php
index ac8accc..dc0eef1 100644
--- a/errorpage/httperror.php
+++ b/errorpage/httperror.php
@@ -100,13 +100,13 @@ switch ($error_code) {
;?>)
+ if(!(empty(file_get_contents($custom503file)))){?>
;?>)
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
literal 2067
zcmd^=>sOKq9>*WTvTVvU%eICvDXml-OV4yf#k?V6;Sx>-m`!P3FfUDB0!61LEX|qJ
z)SyAkLCwT%uKL_l}cBvTR)OYm{+oc#y(&F+gm=X*K7bAE3=uf8|K
zj^j32?6d#?U=uz#fVA3OpS^zFYLZ41%vWnea`5Tz0AO?XXTwUIHtzxeb16RHC^_Tj
zS;b5~EgjK2FXM1{FO)?R&4`DGZT_&Z0wy)w{F?NEU4NBwG%TRW;>?z;v69L$IKOs3
z1ltyn8P@GsXkTO(c=K$nM-Ux!kdCIczffL?NxP7l%&it3!x%9!Q&BAb;zn(P%*1*>
z$9#*48T@%K4`-QfcK6^m39KU6450r{R8skM*n=ia)%dkKp4AY5-Wj&U`GRCa-N55U$~VD-12P<0^Fu;B;WrQ
z2)G63DZ9q(fm5iQ9bc_k`|tdJI9D0}BjudUoH^G;bR$1&MXxj2`0p#JOizxu_}7C!
zZI|SKKY{SAL9h}?14+o!vtsHTwl8c-CHi7<>w#gdJZL*Uko#-el
z$88^88~6Ul%5=BJet0Y!$!zW)-I`R^cRo;a?(7xwS4sUpDMQ5*%g&i<45p_gHX~s#9!7-
zC*&fiyN{vvKl?}(G-2{jV-6`{2@Pz%#WA)Zf~ivwTW6Ho+Iuq;0c;B4OZS#@D#qnn
zIib~IuBb;fx{`{TMEJ%KM$T-&vh)U%0W1*MyRcgRVXG>1v#fBr$g{+5gcsD5*PoX$n%&`W#M>brJVxW8n<+#4Vu&l
zt8|w0YmUGN>m!;kg~rqRp$kKLtJ)_xPn~})q<@s16;0!IMpAywemh==MSB~28?*eZ
zVYEMJrD$(w7Z%!he)h_}%f0@fR3(r(FB~S(PpA)v7Abq8G9s7k(+&RMtG^BYF)b7{
zV`YZlSX;XCX_=?El9LYyqqFO@H}qU$hz?o8EgQ<74Pr2wJyGG+pzYK9r7Lz3%LGH#
zDuQi1?Kav(88J#tyPL@b*QiG>Q;T;8qSd3aZVvx_hLy=4p*Fb=&0I_ThWE|V%Sc(W
z6|x)$tTaTFl|v~l?L7;i76neKwn_41w{*P}U!t|?<(294q=jbi1hx;VMy!6j)(n*n
zE|V$Dx@q1jT@kcAa2diSt{)3(Ia%e1ytA_`Pl;!U4QgamXRM{`QJ_J<3SwxfZ+wpM
z!)uV+3PhcYiHP8T^2T^^v`|@h=+hG;#vJ#j
zk)N{cI#BgK4&J(r>OQ{o`4AHS_Vw?XHU8u@!U;{`1q~tT_BKWYk?v1ndP$NKCo?`)
z4GfDLnKq(Uka&k`XBE2FvR67~JB3b{^T&kMclavxu?q}E%T
z>k+VtdLiNAU^U-q|4%;YnBwD}@}!240v+kkOD!w+t;ORWzRHmWebIFWn~JVXIS
diff --git a/function/delete_apitoken.php b/function/delete_apitoken.php
new file mode 100644
index 0000000..c7d8ac6
--- /dev/null
+++ b/function/delete_apitoken.php
@@ -0,0 +1,43 @@
+ PDO::ERRMODE_EXCEPTION,
+ PDO::MYSQL_ATTR_MULTI_STATEMENTS => false
+ );
+ $pdo = new PDO('mysql:charset=utf8mb4;dbname=' . DB_NAME . ';host=' . DB_HOST, DB_USER, DB_PASS, $option);
+ } catch (PDOException $e) {
+ // 接続エラーのときエラー内容を取得する
+ actionLog($userid, "error", "ueuse", null, $e, 4);
+ }
+
+ $userid = safetext($_POST['userid']);
+
+ $uniqid = safetext($_POST['uniqid']);
+ $loginid = safetext($_POST['account_id']);
+ $loginkey = safetext($_COOKIE['loginkey']);
+
+ $is_login = uwuzuUserLoginCheck($loginid, $loginkey, "user");
+ if ($is_login === false) {
+ echo json_encode(['success' => false, 'error' => '認証に失敗しました。(AUTH_INVALID)']);
+ exit;
+ }
+
+ if(DelAPIToken($pdo, $uniqid)){
+ echo json_encode(['success' => true, 'message' => 'アクセストークンが削除されました。']);
+ exit;
+ } else {
+ echo json_encode(['success' => false, 'error' => 'アクセストークンの削除に失敗しました。']);
+ exit;
+ }
+} else {
+ echo json_encode(['success' => false, 'error' => '必要なパラメータが提供されていません。']);
+ exit;
+}
+
+?>
\ No newline at end of file
diff --git a/function/function.php b/function/function.php
index bad9237..7888ce2 100644
--- a/function/function.php
+++ b/function/function.php
@@ -61,8 +61,11 @@ function blockedIP($ip_addr) {
foreach ($blocked_ips as $blocked_ip) {
if (isIpInCIDR($ip_addr, $blocked_ip)) {
- $url = (empty($_SERVER['HTTPS']) ? 'http://' : 'https://') . $_SERVER['HTTP_HOST'] . "/unsupported.php?errcode=IP_BANNED";
+ $fron_uwuzu_errcode = "IP_BANNED";
+ $url = (empty($_SERVER['HTTPS']) ? 'http://' : 'https://') . $_SERVER['HTTP_HOST'] . "/unsupported.php?errcode=" . $fron_uwuzu_errcode;
header("Location: " . $url);
+
+ require(__DIR__ . '/../unsupported.php');
exit;
}
}
@@ -259,8 +262,6 @@ function uwuzuUserLogin($session, $cookie, $ip_addr, $operation_permission = "us
//APIなどのログイン処理(loginidとloginkeyが有効かを確かめる)
function uwuzuUserLoginCheck($loginid, $loginkey, $operation_permission = "user") {
//セッション,クッキー,IPアドレス,閲覧権限(userかadminかの二種類)を受け取る
- $serversettings_file = $_SERVER['DOCUMENT_ROOT']."/server/serversettings.ini";
- $serversettings = parse_ini_file($serversettings_file, true);
// データベースに接続
try {
$option = array(
@@ -317,13 +318,26 @@ function uwuzuUserLoginCheck($loginid, $loginkey, $operation_permission = "user"
}
}
//---------UNIQID-MAKER---------
-function createUniqId(){
- list($msec, $sec) = explode(" ", microtime());
- $hashCreateTime = $sec.floor($msec*1000000);
-
- $hashCreateTime = strrev($hashCreateTime);
-
- return base_convert($hashCreateTime,10,36);
+function Legacy_createUniqId(){
+ list($msec, $sec) = explode(" ", microtime());
+ $hashCreateTime = $sec.floor($msec*1000000);
+
+ $hashCreateTime = strrev($hashCreateTime);
+
+ return base_convert($hashCreateTime,10,36);
+}
+function createUniqId($randDigits = 6) {
+ $msec_time = (int)(microtime(true) * 1000);
+ $randMax = pow(10, $randDigits) - 1;
+ $rand_num = str_pad(random_int(0, $randMax), $randDigits, '0', STR_PAD_LEFT);
+ $combined = $msec_time . $rand_num;
+ return base_convert(strrev($combined), 10, 36);
+}
+function parseUniqId($id, $randDigits = 6) {
+ $reversed_num_str = base_convert($id, 36, 10);
+ $combined_num_str = strrev($reversed_num_str);
+ $msec_time_str = substr($combined_num_str, 0, -$randDigits);
+ return date("Y-m-d H:i:s.v", (int)($msec_time_str / 1000));
}
//----------EXIF_Delete----------
//EXIFを削除するやつです。
@@ -1123,12 +1137,16 @@ function get_mentions_userid($postText) {
$mention_userData = $mention_userQuery->fetch();
if (!empty($mention_userData)) {
- $mentionedUsers[] = $mention_username;
+ $mentionedUsers[] = strtolower($mention_username);
}
}, $postText);
return $mentionedUsers;
}
+function GenNotificationId($to, $from, $title, $message, $url, $category) {
+ $data = "" . $to . ":" . $from . ":" . $title . ":" . $message . ":" . $url . ":" . $category;
+ return hash('sha3-512', $data);
+}
function send_notification($to,$from,$title,$message,$url,$category){
// データベースに接続
@@ -1143,10 +1161,10 @@ function send_notification($to,$from,$title,$message,$url,$category){
return false;
}
- if(!($to == $from) || $category === "system" || $category === "other"){
+ if(!(strtolower($to) == strtolower($from)) || $category === "system" || $category === "other"){
$to_result = getUserData($pdo, $to);
- $category_list = ["system","favorite","reply","reuse","ueuse","follow","mention","other"];
+ $category_list = ["system","favorite","reply","reuse","ueuse","follow","mention","other", "login"];
if(in_array($category, $category_list)){
if(in_array($category, explode(',', $to_result["notification_settings"])) || empty($to_result["notification_settings"]) || $category === "system" || $category === "other"){
//ブロックされてたら送らない
@@ -1162,9 +1180,10 @@ function send_notification($to,$from,$title,$message,$url,$category){
$url = safetext($url);
$userchk = 'none';
$notification_category = safetext($category);
+ $notification_id = GenNotificationId($touserid, $fromuserid, $title, $msg, $url, $notification_category);
// 通知用SQL作成
- $stmt = $pdo->prepare("INSERT INTO notification (fromuserid, touserid, msg, url, datetime, userchk, title, category) VALUES (:fromuserid, :touserid, :msg, :url, :datetime, :userchk, :title, :category)");
+ $stmt = $pdo->prepare("INSERT INTO notification (fromuserid, touserid, msg, url, datetime, userchk, title, category, notificationid) VALUES (:fromuserid, :touserid, :msg, :url, :datetime, :userchk, :title, :category, :notificationid)");
$stmt->bindParam(':fromuserid', $fromuserid, PDO::PARAM_STR);
$stmt->bindParam(':touserid', $touserid, PDO::PARAM_STR);
@@ -1173,6 +1192,7 @@ function send_notification($to,$from,$title,$message,$url,$category){
$stmt->bindParam(':userchk', $userchk, PDO::PARAM_STR);
$stmt->bindParam(':title', $title, PDO::PARAM_STR);
$stmt->bindParam(':category', $notification_category, PDO::PARAM_STR);
+ $stmt->bindParam(':notificationid', $notification_id, PDO::PARAM_STR);
$stmt->bindParam(':datetime', $datetime, PDO::PARAM_STR);
@@ -1211,6 +1231,69 @@ function send_notification($to,$from,$title,$message,$url,$category){
return true;
}
}
+
+function delete_notification($to,$from,$title,$message,$url,$category){
+ // データベースに接続
+ try {
+ $option = array(
+ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
+ PDO::MYSQL_ATTR_MULTI_STATEMENTS => false
+ );
+ $pdo = new PDO('mysql:charset=utf8mb4;dbname='.DB_NAME.';host='.DB_HOST , DB_USER, DB_PASS, $option);
+ } catch(PDOException $e) {
+ actionLog($from, "error", "send_notification", $to, $e, 4);
+ return false;
+ }
+
+ if(!(strtolower($to) == strtolower($from)) || $category === "system" || $category === "other"){
+ $to_result = getUserData($pdo, $to);
+
+ $category_list = ["system","favorite","reply","reuse","ueuse","follow","mention","other", "login"];
+ if(in_array($category, $category_list)){
+ if(in_array($category, explode(',', $to_result["notification_settings"])) || empty($to_result["notification_settings"]) || $category === "system" || $category === "other"){
+ if(!(empty($pdo))){
+ $fromuserid = safetext($from);
+ $touserid = safetext($to);
+ $msg = safetext($message);
+ $title = safetext($title);
+ $url = safetext($url);
+ $notification_category = safetext($category);
+ $notification_id = GenNotificationId($touserid, $fromuserid, $title, $msg, $url, $notification_category);
+ $pdo->beginTransaction();
+ try {
+ // 削除クエリを実行
+ $deleteQuery = $pdo->prepare("DELETE FROM notification WHERE notificationid = :notificationid");
+ $deleteQuery->bindValue(':notificationid', $notification_id, PDO::PARAM_STR);
+ $res = $deleteQuery->execute();
+
+ if ($res) {
+ $res = $pdo->commit();
+ return true;
+ } else {
+ $pdo->rollBack();
+ actionLog($from, "error", "delete_notification", $to, "通知の削除に失敗しました(rollBack)", 3);
+ return false;
+ }
+ } catch(PDOException $e) {
+ $pdo->rollBack();
+ actionLog($from, "error", "delete_notification", $to, $e, 4);
+ return false;
+ }
+ }else{
+ return false;
+ }
+ }else{
+ // 受信しない設定なのでtrue
+ return true;
+ }
+ }else{
+ return false;
+ }
+ }else{
+ // 送信元と送信先が同じなら送信しない
+ return true;
+ }
+}
// ユーズするとき全部この関数
function send_ueuse($userid,$rpUniqid,$ruUniqid,$ueuse,$photo1,$photo2,$photo3,$photo4,$video1,$nsfw,$aibwm){
// AIBlockWaterMark--------------------------------------------
@@ -1269,511 +1352,518 @@ function send_ueuse($userid,$rpUniqid,$ruUniqid,$ueuse,$photo1,$photo2,$photo3,$
}
if(!(empty($pdo))){
- $userData = getUserData($pdo, $userid);
- $username = safetext($userData["username"]);
- $userRoleList = explode(',', safetext($userData["role"]));
- if(in_array("ice", $userRoleList)){
- $error_message[] = 'アカウントが凍結されています。(ACCOUNT_HAS_BEEN_FROZEN)';
- }
- $ueuse = safetext($ueuse);
- if(safetext($nsfw) === "true"){
- $save_nsfw = "true";
- }else{
- $save_nsfw = "false";
- }
- if(empty($ueuse) && empty($ruUniqid)) {
- $error_message[] = '内容を入力してください。(INPUT_PLEASE)';
- } else {
- // 文字数を確認
- if((int)safetext(file_get_contents($mojisizefile)) < mb_strlen($ueuse, 'UTF-8')) {
- $error_message[] = '内容は'.safetext(file_get_contents($mojisizefile)).'文字以内で入力してください。(INPUT_OVER_MAX_COUNT)';
- }
+ $uniqid = createUniqId();//最初に決めちゃう
+ if(empty(getUeuseData($pdo, $uniqid))){
- // 禁止url確認
- if(!(empty($banurl))){
- for($i = 0; $i < count($banurl); $i++) {
- if(!($banurl[$i] == "")){
- if (false !== strpos($ueuse, 'https://'.$banurl[$i])) {
- $error_message[] = '投稿が禁止されているURLが含まれています。(INPUT_CONTAINS_PROHIBITED_URL)';
- }
- }
- }
+ $userData = getUserData($pdo, $userid);
+ $username = safetext($userData["username"]);
+ $userRoleList = explode(',', safetext($userData["role"]));
+ if(in_array("ice", $userRoleList)){
+ $error_message[] = 'アカウントが凍結されています。(ACCOUNT_HAS_BEEN_FROZEN)';
}
-
- // 改行ユーズ確認
- if(preg_match('/^[\n\r]+$/', $ueuse) === 1){
+ $ueuse = safetext($ueuse);
+ if(safetext($nsfw) === "true"){
+ $save_nsfw = "true";
+ }else{
+ $save_nsfw = "false";
+ }
+ if(empty($ueuse) && empty($ruUniqid)) {
$error_message[] = '内容を入力してください。(INPUT_PLEASE)';
+ } else {
+ // 文字数を確認
+ if((int)safetext(file_get_contents($mojisizefile)) < mb_strlen($ueuse, 'UTF-8')) {
+ $error_message[] = '内容は'.safetext(file_get_contents($mojisizefile)).'文字以内で入力してください。(INPUT_OVER_MAX_COUNT)';
+ }
+
+ // 禁止url確認
+ if(!(empty($banurl))){
+ for($i = 0; $i < count($banurl); $i++) {
+ if(!($banurl[$i] == "")){
+ if (false !== strpos($ueuse, 'https://'.$banurl[$i])) {
+ $error_message[] = '投稿が禁止されているURLが含まれています。(INPUT_CONTAINS_PROHIBITED_URL)';
+ }
+ }
+ }
+ }
+
+ // 改行ユーズ確認
+ if(preg_match('/^[\n\r]+$/', $ueuse) === 1){
+ $error_message[] = '内容を入力してください。(INPUT_PLEASE)';
+ }
}
- }
- $old_datetime = date("Y-m-d H:i:00");
- $now_datetime = date("Y-m-d H:i:00",strtotime("+1 minute"));
- $rate_Query = $pdo->prepare("SELECT * FROM ueuse WHERE account = :userid AND TIME(datetime) BETWEEN :old_datetime AND :now_datetime");
- $rate_Query->bindValue(':userid', $userid);
- $rate_Query->bindValue(':old_datetime', $old_datetime);
- $rate_Query->bindValue(':now_datetime', $now_datetime);
- $rate_Query->execute();
- $rate_count = $rate_Query->rowCount();
- if(!($rate_count > $max_ueuse_rate_limit-1)){
- if(empty($error_message)) {
- if (empty($photo1['name'])) {
- $save_photo1 = "none";
- } else {
- // アップロードされたファイル情報
- $uploadedFile = $photo1;
-
- if(!(empty($uploadedFile['tmp_name']))){
- if(check_mime($uploadedFile['tmp_name'])){
- // アップロードされたファイルの拡張子を取得
- $extension = convert_mime(check_mime($uploadedFile['tmp_name']));
- delete_exif($extension, $uploadedFile['tmp_name']);
- if($aibwm === true){
- AIBlockWaterMark($uploadedFile['tmp_name'], $userid);
- }
- if(AMS3_CHKS == "true"){
- $s3result = uploadAmazonS3($uploadedFile['tmp_name']);
- }else{
- // 新しいファイル名を生成(uniqid + 拡張子)
- $newFilename = createUniqId() . '-'.$userid.'.' . $extension;
- // 保存先のパスを生成
- $uploadedPath = '../ueuseimages/' . $newFilename;
- // ファイルを移動
- $result = move_uploaded_file($uploadedFile['tmp_name'], __DIR__."/".$uploadedPath);
-
- if ($result) {
- $save_photo1 = $uploadedPath; // 保存されたファイルのパスを使用
- } else {
- $errnum = $uploadedFile['error'];
- if($errnum === 1){$errcode = "FILE_DEKASUGUI_PHP_INI_KAKUNIN";}
- if($errnum === 2){$errcode = "FILE_DEKASUGUI_HTML_KAKUNIN";}
- if($errnum === 3){$errcode = "FILE_SUKOSHIDAKE_UPLOAD";}
- if($errnum === 4){$errcode = "FILE_UPLOAD_DEKINAKATTA";}
- if($errnum === 6){$errcode = "TMP_FOLDER_NAI";}
- if($errnum === 7){$errcode = "FILE_KAKIKOMI_SIPPAI";}
- if($errnum === 8){$errcode = "PHPINFO()_KAKUNIN";}
- $error_message[] = 'アップロード失敗!(1)エラーコード:' .$errcode.'';
- }
- }
- if(isset($s3result)){
- if($s3result == false){
- $error_message[] = 'アップロード失敗!(1)エラーコード: S3ERROR';
- }else{
- $save_photo1 = $s3result; // S3に保存されたファイルのパスを使用
- }
- }
- }else{
- $error_message[] = "使用できない画像形式です。(SORRY_FILE_HITAIOU)";
- }
- }else{
- $error_message[] = "ファイルがアップロードできませんでした。(FILE_UPLOAD_DEKINAKATTA)";
- }
- }
-
- if (empty($photo2['name'])) {
- $save_photo2 = "none";
- } else {
- if (empty($photo1['name'])){
- $error_message[] = '画像1から画像を選択してください!!!(PHOTO_SELECT_PLEASE)';
- }
- // アップロードされたファイル情報
- $uploadedFile2 = $photo2;
-
- if(!(empty($uploadedFile2['tmp_name']))){
- if(check_mime($uploadedFile2['tmp_name'])){
- // アップロードされたファイルの拡張子を取得
- $extension2 = convert_mime(check_mime($uploadedFile2['tmp_name']));
- delete_exif($extension2, $uploadedFile2['tmp_name']);
- if($aibwm === true){
- AIBlockWaterMark($uploadedFile2['tmp_name'], $userid);
- }
- if(AMS3_CHKS == "true"){
- $s3result = uploadAmazonS3($uploadedFile2['tmp_name']);
- }else{
- // 新しいファイル名を生成(uniqid + 拡張子)
- $newFilename2 = createUniqId() . '-'.$userid.'.' . $extension2;
- // 保存先のパスを生成
- $uploadedPath2 = '../ueuseimages/' . $newFilename2;
- // ファイルを移動
- $result2 = move_uploaded_file($uploadedFile2['tmp_name'], __DIR__."/".$uploadedPath2);
- if ($result2) {
- $save_photo2 = $uploadedPath2; // 保存されたファイルのパスを使用
- } else {
- $errnum = $uploadedFile2['error'];
- if($errnum === 1){$errcode = "FILE_DEKASUGUI_PHP_INI_KAKUNIN";}
- if($errnum === 2){$errcode = "FILE_DEKASUGUI_HTML_KAKUNIN";}
- if($errnum === 3){$errcode = "FILE_SUKOSHIDAKE_UPLOAD";}
- if($errnum === 4){$errcode = "FILE_UPLOAD_DEKINAKATTA";}
- if($errnum === 6){$errcode = "TMP_FOLDER_NAI";}
- if($errnum === 7){$errcode = "FILE_KAKIKOMI_SIPPAI";}
- if($errnum === 8){$errcode = "PHPINFO()_KAKUNIN";}
- $error_message[] = 'アップロード失敗!(2)エラーコード:' .$errcode.'';
- }
- }
- if(isset($s3result)){
- if($s3result == false){
- $error_message[] = 'アップロード失敗!(2)エラーコード: S3ERROR';
- }else{
- $save_photo2 = $s3result; // S3に保存されたファイルのパスを使用
- }
- }
- }else{
- $error_message[] = "使用できない画像形式です。(SORRY_FILE_HITAIOU)";
- }
- }else{
- $error_message[] = "ファイルがアップロードできませんでした。(FILE_UPLOAD_DEKINAKATTA)";
- }
- }
-
- if (empty($photo3['name'])) {
- $save_photo3 = "none";
- } else {
- if (empty($photo2['name'])){
- $error_message[] = '画像2から画像を選択してください!!!(PHOTO_SELECT_PLEASE)';
- }
- // アップロードされたファイル情報
- $uploadedFile3 = $photo3;
-
- if(!(empty($uploadedFile3['tmp_name']))){
- if(check_mime($uploadedFile3['tmp_name'])){
- // アップロードされたファイルの拡張子を取得
- $extension3 = convert_mime(check_mime($uploadedFile3['tmp_name']));
- delete_exif($extension3, $uploadedFile3['tmp_name']);
- if($aibwm === true){
- AIBlockWaterMark($uploadedFile3['tmp_name'], $userid);
- }
- if(AMS3_CHKS == "true"){
- $s3result = uploadAmazonS3($uploadedFile3['tmp_name']);
- }else{
- // 新しいファイル名を生成(uniqid + 拡張子)
- $newFilename3 = createUniqId() . '-'.$userid.'.' . $extension3;
- // 保存先のパスを生成
- $uploadedPath3 = '../ueuseimages/' . $newFilename3;
- // ファイルを移動
- $result3 = move_uploaded_file($uploadedFile3['tmp_name'], __DIR__."/".$uploadedPath3);
- if ($result3) {
- $save_photo3 = $uploadedPath3; // 保存されたファイルのパスを使用
- } else {
- $errnum = $uploadedFile3['error'];
- if($errnum === 1){$errcode = "FILE_DEKASUGUI_PHP_INI_KAKUNIN";}
- if($errnum === 2){$errcode = "FILE_DEKASUGUI_HTML_KAKUNIN";}
- if($errnum === 3){$errcode = "FILE_SUKOSHIDAKE_UPLOAD";}
- if($errnum === 4){$errcode = "FILE_UPLOAD_DEKINAKATTA";}
- if($errnum === 6){$errcode = "TMP_FOLDER_NAI";}
- if($errnum === 7){$errcode = "FILE_KAKIKOMI_SIPPAI";}
- if($errnum === 8){$errcode = "PHPINFO()_KAKUNIN";}
- $error_message[] = 'アップロード失敗!(3)エラーコード:' .$errcode.'';
- }
- }
- if(isset($s3result)){
- if($s3result == false){
- $error_message[] = 'アップロード失敗!(3)エラーコード: S3ERROR';
- }else{
- $save_photo3 = $s3result; // S3に保存されたファイルのパスを使用
- }
- }
- }else{
- $error_message[] = "使用できない画像形式です。(SORRY_FILE_HITAIOU)";
- }
- }else{
- $error_message[] = "ファイルがアップロードできませんでした。(FILE_UPLOAD_DEKINAKATTA)";
- }
- }
-
- if (empty($photo4['name'])) {
- $save_photo4 = "none";
- } else {
- if (empty($photo3['name'])){
- $error_message[] = '画像3から画像を選択してください!!!(PHOTO_SELECT_PLEASE)';
- }
- // アップロードされたファイル情報
- $uploadedFile4 = $photo4;
- if(!(empty($uploadedFile4['tmp_name']))){
- if(check_mime($uploadedFile4['tmp_name'])){
- // アップロードされたファイルの拡張子を取得
- $extension4 = convert_mime(check_mime($uploadedFile4['tmp_name']));
- delete_exif($extension4, $uploadedFile4['tmp_name']);
- if($aibwm === true){
- AIBlockWaterMark($uploadedFile4['tmp_name'], $userid);
- }
- if(AMS3_CHKS == "true"){
- $s3result = uploadAmazonS3($uploadedFile4['tmp_name']);
- }else{
- // 新しいファイル名を生成(uniqid + 拡張子)
- $newFilename4 = createUniqId() . '-'.$userid.'.' . $extension4;
- // 保存先のパスを生成
- $uploadedPath4 = '../ueuseimages/' . $newFilename4;
- // ファイルを移動
- $result4 = move_uploaded_file($uploadedFile4['tmp_name'], __DIR__."/".$uploadedPath4);
- if ($result4) {
- $save_photo4 = $uploadedPath4; // 保存されたファイルのパスを使用
- } else {
- $errnum = $uploadedFile4['error'];
- if($errnum === 1){$errcode = "FILE_DEKASUGUI_PHP_INI_KAKUNIN";}
- if($errnum === 2){$errcode = "FILE_DEKASUGUI_HTML_KAKUNIN";}
- if($errnum === 3){$errcode = "FILE_SUKOSHIDAKE_UPLOAD";}
- if($errnum === 4){$errcode = "FILE_UPLOAD_DEKINAKATTA";}
- if($errnum === 6){$errcode = "TMP_FOLDER_NAI";}
- if($errnum === 7){$errcode = "FILE_KAKIKOMI_SIPPAI";}
- if($errnum === 8){$errcode = "PHPINFO()_KAKUNIN";}
- $error_message[] = 'アップロード失敗!(4)エラーコード:' .$errcode.'';
- }
- }
- if(isset($s3result)){
- if($s3result == false){
- $error_message[] = 'アップロード失敗!(1)エラーコード: S3ERROR';
- }else{
- $save_photo4 = $s3result; // S3に保存されたファイルのパスを使用
- }
- }
- }else{
- $error_message[] = "使用できない画像形式です。(SORRY_FILE_HITAIOU)";
- }
- }else{
- $error_message[] = "ファイルがアップロードできませんでした。(FILE_UPLOAD_DEKINAKATTA)";
- }
- }
-
- if (empty($video1['name'])) {
- $save_video1 = "none";
- } else {
- // アップロードされたファイル情報
- $uploadedVideo = $video1;
-
- if(!(empty($uploadedVideo['tmp_name']))){
- if(check_mime_video($uploadedVideo['tmp_name'])){
- if(AMS3_CHKS == "true"){
- $s3result = uploadAmazonS3($uploadedVideo['tmp_name']);
- }else{
- // アップロードされたファイルの拡張子を取得
- $extensionVideo = convert_mime(check_mime_video($uploadedVideo['tmp_name']));
- // 正しい拡張子の場合、新しいファイル名を生成
- $newFilenameVideo = createUniqId() . '-'.$userid.'.' . $extensionVideo;
- // 保存先のパスを生成
- $uploadedPathVideo = '../ueusevideos/' . $newFilenameVideo;
- // ファイルを移動
- $resultVideo = move_uploaded_file($uploadedVideo['tmp_name'], __DIR__."/".$uploadedPathVideo);
- if ($resultVideo) {
- $save_video1 = $uploadedPathVideo; // 保存されたファイルのパスを使用
- } else {
- $errnum = $uploadedVideo['error'];
- if($errnum === 1){$errcode = "FILE_DEKASUGUI_PHP_INI_KAKUNIN";}
- if($errnum === 2){$errcode = "FILE_DEKASUGUI_HTML_KAKUNIN";}
- if($errnum === 3){$errcode = "FILE_SUKOSHIDAKE_UPLOAD";}
- if($errnum === 4){$errcode = "FILE_UPLOAD_DEKINAKATTA";}
- if($errnum === 6){$errcode = "TMP_FOLDER_NAI";}
- if($errnum === 7){$errcode = "FILE_KAKIKOMI_SIPPAI";}
- if($errnum === 8){$errcode = "PHPINFO()_KAKUNIN";}
- $error_message[] = 'アップロード失敗!(5)エラーコード:' .$errcode.'';
- }
- }
- if(isset($s3result)){
- if($s3result == false){
- $error_message[] = 'アップロード失敗!(5)エラーコード: S3ERROR';
- }else{
- $save_video1 = $s3result; // S3に保存されたファイルのパスを使用
- }
- }
- } else {
- $error_message[] = '対応していないファイル形式です!(SORRY_FILE_HITAIOU)';
- }
- }else{
- $error_message[] = "ファイルがアップロードできませんでした。(FILE_UPLOAD_DEKINAKATTA)";
- }
- }
-
- if(empty($error_message)) {
- // 書き込み日時を取得
- $datetime = date("Y-m-d H:i:s");
- $uniqid = createUniqId();
- $abi = "none";
- $popularity = 0;
-
- if(empty($rpUniqid) && empty($ruUniqid)){
- //-----------通常ユーズ-----------
- // トランザクション開始
- $pdo->beginTransaction();
-
- try {
-
- // SQL作成
- $stmt = $pdo->prepare("INSERT INTO ueuse (username, account, uniqid, ueuse, photo1, photo2, photo3, photo4, video1, datetime, abi, nsfw, popularity) VALUES (:username, :account, :uniqid, :ueuse, :photo1, :photo2, :photo3, :photo4, :video1, :datetime, :abi, :nsfw, :popularity)");
-
- $stmt->bindParam(':username', $username, PDO::PARAM_STR);
- $stmt->bindParam(':account', $userid, PDO::PARAM_STR);
- $stmt->bindParam(':uniqid', $uniqid, PDO::PARAM_STR);
- $stmt->bindParam(':ueuse', $ueuse, PDO::PARAM_STR);
-
- $stmt->bindParam(':photo1', $save_photo1, PDO::PARAM_STR);
- $stmt->bindParam(':photo2', $save_photo2, PDO::PARAM_STR);
- $stmt->bindParam(':photo3', $save_photo3, PDO::PARAM_STR);
- $stmt->bindParam(':photo4', $save_photo4, PDO::PARAM_STR);
- $stmt->bindParam(':video1', $save_video1, PDO::PARAM_STR);
- $stmt->bindParam(':datetime', $datetime, PDO::PARAM_STR);
-
- $stmt->bindParam(':nsfw', $save_nsfw, PDO::PARAM_STR);
- $stmt->bindParam(':popularity', $popularity, PDO::PARAM_INT);
-
- $stmt->bindParam(':abi', $abi, PDO::PARAM_STR);
-
- // SQLクエリの実行
- $res = $stmt->execute();
-
- // コミット
- $res = $pdo->commit();
-
- $mentionedUsers = array_unique(get_mentions_userid($ueuse));
-
- foreach ($mentionedUsers as $mentionedUser) {
- send_notification($mentionedUser,$userid,"".$userid."さんにメンションされました!",$ueuse,"/!".$uniqid."", "mention");
- }
-
- } catch(Exception $e) {
- // エラーが発生した時はロールバック
- $pdo->rollBack();
- actionLog($userid, "error", "send_ueuse", null, $e, 4);
- }
- }elseif((!empty($rpUniqid)) && empty($ruUniqid)){
- //-----------リプライ-----------
- $toUserIdQuery = $pdo->prepare("SELECT account FROM ueuse WHERE uniqid = :ueuseid ORDER BY datetime ASC LIMIT 1");
- $toUserIdQuery->bindValue(':ueuseid', $rpUniqid, PDO::PARAM_STR);
- $toUserIdQuery->execute();
- $toUserId_res = $toUserIdQuery->fetch();
-
- if(!(empty($toUserId_res))){
- $touserid = $toUserId_res["account"];
- }else{
- $touserid = null;
- }
-
- changePopularity($pdo, $rpUniqid, $userid, 3);
- // トランザクション開始
- $pdo->beginTransaction();
-
- try {
- // SQL作成
- $stmt = $pdo->prepare("INSERT INTO ueuse (username, account, uniqid, rpuniqid, ueuse, photo1, photo2, photo3, photo4, video1, datetime, abi, nsfw, popularity) VALUES (:username, :account, :uniqid, :rpuniqid, :ueuse, :photo1, :photo2, :photo3, :photo4, :video1, :datetime, :abi, :nsfw, :popularity)");
-
- $stmt->bindParam(':username', $username, PDO::PARAM_STR);
- $stmt->bindParam(':account', $userid, PDO::PARAM_STR);
- $stmt->bindParam(':uniqid', $uniqid, PDO::PARAM_STR);
- $stmt->bindParam(':rpuniqid', $rpUniqid, PDO::PARAM_STR);
- $stmt->bindParam(':ueuse', $ueuse, PDO::PARAM_STR);
-
- $stmt->bindParam(':photo1', $save_photo1, PDO::PARAM_STR);
- $stmt->bindParam(':photo2', $save_photo2, PDO::PARAM_STR);
- $stmt->bindParam(':photo3', $save_photo3, PDO::PARAM_STR);
- $stmt->bindParam(':photo4', $save_photo4, PDO::PARAM_STR);
- $stmt->bindParam(':video1', $save_video1, PDO::PARAM_STR);
- $stmt->bindParam(':datetime', $datetime, PDO::PARAM_STR);
-
- $stmt->bindParam(':nsfw', $save_nsfw, PDO::PARAM_STR);
-
- $stmt->bindParam(':abi', $abi, PDO::PARAM_STR);
- $stmt->bindParam(':popularity', $popularity, PDO::PARAM_INT);
-
- // SQLクエリの実行
- $res = $stmt->execute();
-
- // コミット
- $res = $pdo->commit();
-
- $mentionedUsers = array_unique(get_mentions_userid($ueuse));
-
- foreach ($mentionedUsers as $mentionedUser) {
- send_notification($mentionedUser,$userid,"".$userid."さんにメンションされました!",$ueuse,"/!".$uniqid."", "mention");
- }
-
- send_notification($touserid,$userid,"".$userid."さんが返信しました!",$ueuse,"/!".$uniqid."", "reply");
- } catch(Exception $e) {
- // エラーが発生した時はロールバック
- $pdo->rollBack();
- actionLog($userid, "error", "send_ueuse", null, $e, 4);
- }
- }elseif(empty($rpUniqid) && (!empty($ruUniqid))){
- //-----------リユーズ-----------
- $toUserIdQuery = $pdo->prepare("SELECT account FROM ueuse WHERE uniqid = :ueuseid ORDER BY datetime ASC LIMIT 1");
- $toUserIdQuery->bindValue(':ueuseid', $ruUniqid, PDO::PARAM_STR);
- $toUserIdQuery->execute();
- $toUserId_res = $toUserIdQuery->fetch();
-
- if(!(empty($toUserId_res))){
- $touserid = $toUserId_res["account"];
- }else{
- $touserid = null;
- }
-
- changePopularity($pdo, $ruUniqid, $userid, 2);
-
- // トランザクション開始
- $pdo->beginTransaction();
-
- try {
- // SQL作成
- $stmt = $pdo->prepare("INSERT INTO ueuse (username, account, uniqid, ruuniqid, ueuse, photo1, photo2, photo3, photo4, video1, datetime, abi, nsfw, popularity) VALUES (:username, :account, :uniqid, :ruuniqid, :ueuse, :photo1, :photo2, :photo3, :photo4, :video1, :datetime, :abi, :nsfw, :popularity)");
-
- $stmt->bindParam(':username', $username, PDO::PARAM_STR);
- $stmt->bindParam(':account', $userid, PDO::PARAM_STR);
- $stmt->bindParam(':uniqid', $uniqid, PDO::PARAM_STR);
- $stmt->bindParam(':ruuniqid', $ruUniqid, PDO::PARAM_STR);
- $stmt->bindParam(':ueuse', $ueuse, PDO::PARAM_STR);
-
- $stmt->bindParam(':photo1', $save_photo1, PDO::PARAM_STR);
- $stmt->bindParam(':photo2', $save_photo2, PDO::PARAM_STR);
- $stmt->bindParam(':photo3', $save_photo3, PDO::PARAM_STR);
- $stmt->bindParam(':photo4', $save_photo4, PDO::PARAM_STR);
- $stmt->bindParam(':video1', $save_video1, PDO::PARAM_STR);
- $stmt->bindParam(':datetime', $datetime, PDO::PARAM_STR);
-
- $stmt->bindParam(':nsfw', $save_nsfw, PDO::PARAM_STR);
-
- $stmt->bindParam(':abi', $abi, PDO::PARAM_STR);
- $stmt->bindParam(':popularity', $popularity, PDO::PARAM_INT);
-
-
- // SQLクエリの実行
- $res = $stmt->execute();
-
- // コミット
- $res = $pdo->commit();
-
- $mentionedUsers = array_unique(get_mentions_userid($ueuse));
-
- foreach ($mentionedUsers as $mentionedUser) {
- send_notification($mentionedUser,$userid,"".$userid."さんにメンションされました!",$ueuse,"/!".$uniqid."", "mention");
- }
-
- send_notification($touserid,$userid,"".$userid."さんがリユーズしました!",$ueuse,"/!".$uniqid."", "reuse");
-
- } catch(Exception $e) {
- // エラーが発生した時はロールバック
- $pdo->rollBack();
- actionLog($userid, "error", "send_ueuse", null, $e, 4);
- }
- }else{
- $error_message[] = '返信とリユーズを同時に行うことはできません。(ERROR)';
- return [false, $error_message];
- }
-
- if( $res ) {
- return [true, $uniqid];
+ $old_datetime = date("Y-m-d H:i:00");
+ $now_datetime = date("Y-m-d H:i:00",strtotime("+1 minute"));
+ $rate_Query = $pdo->prepare("SELECT * FROM ueuse WHERE account = :userid AND TIME(datetime) BETWEEN :old_datetime AND :now_datetime");
+ $rate_Query->bindValue(':userid', $userid);
+ $rate_Query->bindValue(':old_datetime', $old_datetime);
+ $rate_Query->bindValue(':now_datetime', $now_datetime);
+ $rate_Query->execute();
+ $rate_count = $rate_Query->rowCount();
+ if(!($rate_count > $max_ueuse_rate_limit-1)){
+ if(empty($error_message)) {
+ if (empty($photo1['name'])) {
+ $save_photo1 = "none";
} else {
- $error_message[] = "ユーズに失敗しました。(REGISTERED_DAME)";
- return [false, $error_message];
+ // アップロードされたファイル情報
+ $uploadedFile = $photo1;
+
+ if(!(empty($uploadedFile['tmp_name']))){
+ if(check_mime($uploadedFile['tmp_name'])){
+ // アップロードされたファイルの拡張子を取得
+ $extension = convert_mime(check_mime($uploadedFile['tmp_name']));
+ delete_exif($extension, $uploadedFile['tmp_name']);
+ if($aibwm === true){
+ AIBlockWaterMark($uploadedFile['tmp_name'], $userid);
+ }
+ if(AMS3_CHKS == "true"){
+ $s3result = uploadAmazonS3($uploadedFile['tmp_name']);
+ }else{
+ // 新しいファイル名を生成(uniqid + 拡張子)
+ $newFilename = createUniqId() . '-'.$userid.'.' . $extension;
+ // 保存先のパスを生成
+ $uploadedPath = '../ueuseimages/' . $newFilename;
+ // ファイルを移動
+ $result = move_uploaded_file($uploadedFile['tmp_name'], __DIR__."/".$uploadedPath);
+
+ if ($result) {
+ $save_photo1 = $uploadedPath; // 保存されたファイルのパスを使用
+ } else {
+ $errnum = $uploadedFile['error'];
+ if($errnum === 1){$errcode = "FILE_DEKASUGUI_PHP_INI_KAKUNIN";}
+ if($errnum === 2){$errcode = "FILE_DEKASUGUI_HTML_KAKUNIN";}
+ if($errnum === 3){$errcode = "FILE_SUKOSHIDAKE_UPLOAD";}
+ if($errnum === 4){$errcode = "FILE_UPLOAD_DEKINAKATTA";}
+ if($errnum === 6){$errcode = "TMP_FOLDER_NAI";}
+ if($errnum === 7){$errcode = "FILE_KAKIKOMI_SIPPAI";}
+ if($errnum === 8){$errcode = "PHPINFO()_KAKUNIN";}
+ $error_message[] = 'アップロード失敗!(1)エラーコード:' .$errcode.'';
+ }
+ }
+ if(isset($s3result)){
+ if($s3result == false){
+ $error_message[] = 'アップロード失敗!(1)エラーコード: S3ERROR';
+ }else{
+ $save_photo1 = $s3result; // S3に保存されたファイルのパスを使用
+ }
+ }
+ }else{
+ $error_message[] = "使用できない画像形式です。(SORRY_FILE_HITAIOU)";
+ }
+ }else{
+ $error_message[] = "ファイルがアップロードできませんでした。(FILE_UPLOAD_DEKINAKATTA)";
+ }
}
- // プリペアドステートメントを削除
- $stmt = null;
+ if (empty($photo2['name'])) {
+ $save_photo2 = "none";
+ } else {
+ if (empty($photo1['name'])){
+ $error_message[] = '画像1から画像を選択してください!!!(PHOTO_SELECT_PLEASE)';
+ }
+ // アップロードされたファイル情報
+ $uploadedFile2 = $photo2;
+
+ if(!(empty($uploadedFile2['tmp_name']))){
+ if(check_mime($uploadedFile2['tmp_name'])){
+ // アップロードされたファイルの拡張子を取得
+ $extension2 = convert_mime(check_mime($uploadedFile2['tmp_name']));
+ delete_exif($extension2, $uploadedFile2['tmp_name']);
+ if($aibwm === true){
+ AIBlockWaterMark($uploadedFile2['tmp_name'], $userid);
+ }
+ if(AMS3_CHKS == "true"){
+ $s3result = uploadAmazonS3($uploadedFile2['tmp_name']);
+ }else{
+ // 新しいファイル名を生成(uniqid + 拡張子)
+ $newFilename2 = createUniqId() . '-'.$userid.'.' . $extension2;
+ // 保存先のパスを生成
+ $uploadedPath2 = '../ueuseimages/' . $newFilename2;
+ // ファイルを移動
+ $result2 = move_uploaded_file($uploadedFile2['tmp_name'], __DIR__."/".$uploadedPath2);
+ if ($result2) {
+ $save_photo2 = $uploadedPath2; // 保存されたファイルのパスを使用
+ } else {
+ $errnum = $uploadedFile2['error'];
+ if($errnum === 1){$errcode = "FILE_DEKASUGUI_PHP_INI_KAKUNIN";}
+ if($errnum === 2){$errcode = "FILE_DEKASUGUI_HTML_KAKUNIN";}
+ if($errnum === 3){$errcode = "FILE_SUKOSHIDAKE_UPLOAD";}
+ if($errnum === 4){$errcode = "FILE_UPLOAD_DEKINAKATTA";}
+ if($errnum === 6){$errcode = "TMP_FOLDER_NAI";}
+ if($errnum === 7){$errcode = "FILE_KAKIKOMI_SIPPAI";}
+ if($errnum === 8){$errcode = "PHPINFO()_KAKUNIN";}
+ $error_message[] = 'アップロード失敗!(2)エラーコード:' .$errcode.'';
+ }
+ }
+ if(isset($s3result)){
+ if($s3result == false){
+ $error_message[] = 'アップロード失敗!(2)エラーコード: S3ERROR';
+ }else{
+ $save_photo2 = $s3result; // S3に保存されたファイルのパスを使用
+ }
+ }
+ }else{
+ $error_message[] = "使用できない画像形式です。(SORRY_FILE_HITAIOU)";
+ }
+ }else{
+ $error_message[] = "ファイルがアップロードできませんでした。(FILE_UPLOAD_DEKINAKATTA)";
+ }
+ }
+
+ if (empty($photo3['name'])) {
+ $save_photo3 = "none";
+ } else {
+ if (empty($photo2['name'])){
+ $error_message[] = '画像2から画像を選択してください!!!(PHOTO_SELECT_PLEASE)';
+ }
+ // アップロードされたファイル情報
+ $uploadedFile3 = $photo3;
+
+ if(!(empty($uploadedFile3['tmp_name']))){
+ if(check_mime($uploadedFile3['tmp_name'])){
+ // アップロードされたファイルの拡張子を取得
+ $extension3 = convert_mime(check_mime($uploadedFile3['tmp_name']));
+ delete_exif($extension3, $uploadedFile3['tmp_name']);
+ if($aibwm === true){
+ AIBlockWaterMark($uploadedFile3['tmp_name'], $userid);
+ }
+ if(AMS3_CHKS == "true"){
+ $s3result = uploadAmazonS3($uploadedFile3['tmp_name']);
+ }else{
+ // 新しいファイル名を生成(uniqid + 拡張子)
+ $newFilename3 = createUniqId() . '-'.$userid.'.' . $extension3;
+ // 保存先のパスを生成
+ $uploadedPath3 = '../ueuseimages/' . $newFilename3;
+ // ファイルを移動
+ $result3 = move_uploaded_file($uploadedFile3['tmp_name'], __DIR__."/".$uploadedPath3);
+ if ($result3) {
+ $save_photo3 = $uploadedPath3; // 保存されたファイルのパスを使用
+ } else {
+ $errnum = $uploadedFile3['error'];
+ if($errnum === 1){$errcode = "FILE_DEKASUGUI_PHP_INI_KAKUNIN";}
+ if($errnum === 2){$errcode = "FILE_DEKASUGUI_HTML_KAKUNIN";}
+ if($errnum === 3){$errcode = "FILE_SUKOSHIDAKE_UPLOAD";}
+ if($errnum === 4){$errcode = "FILE_UPLOAD_DEKINAKATTA";}
+ if($errnum === 6){$errcode = "TMP_FOLDER_NAI";}
+ if($errnum === 7){$errcode = "FILE_KAKIKOMI_SIPPAI";}
+ if($errnum === 8){$errcode = "PHPINFO()_KAKUNIN";}
+ $error_message[] = 'アップロード失敗!(3)エラーコード:' .$errcode.'';
+ }
+ }
+ if(isset($s3result)){
+ if($s3result == false){
+ $error_message[] = 'アップロード失敗!(3)エラーコード: S3ERROR';
+ }else{
+ $save_photo3 = $s3result; // S3に保存されたファイルのパスを使用
+ }
+ }
+ }else{
+ $error_message[] = "使用できない画像形式です。(SORRY_FILE_HITAIOU)";
+ }
+ }else{
+ $error_message[] = "ファイルがアップロードできませんでした。(FILE_UPLOAD_DEKINAKATTA)";
+ }
+ }
+
+ if (empty($photo4['name'])) {
+ $save_photo4 = "none";
+ } else {
+ if (empty($photo3['name'])){
+ $error_message[] = '画像3から画像を選択してください!!!(PHOTO_SELECT_PLEASE)';
+ }
+ // アップロードされたファイル情報
+ $uploadedFile4 = $photo4;
+ if(!(empty($uploadedFile4['tmp_name']))){
+ if(check_mime($uploadedFile4['tmp_name'])){
+ // アップロードされたファイルの拡張子を取得
+ $extension4 = convert_mime(check_mime($uploadedFile4['tmp_name']));
+ delete_exif($extension4, $uploadedFile4['tmp_name']);
+ if($aibwm === true){
+ AIBlockWaterMark($uploadedFile4['tmp_name'], $userid);
+ }
+ if(AMS3_CHKS == "true"){
+ $s3result = uploadAmazonS3($uploadedFile4['tmp_name']);
+ }else{
+ // 新しいファイル名を生成(uniqid + 拡張子)
+ $newFilename4 = createUniqId() . '-'.$userid.'.' . $extension4;
+ // 保存先のパスを生成
+ $uploadedPath4 = '../ueuseimages/' . $newFilename4;
+ // ファイルを移動
+ $result4 = move_uploaded_file($uploadedFile4['tmp_name'], __DIR__."/".$uploadedPath4);
+ if ($result4) {
+ $save_photo4 = $uploadedPath4; // 保存されたファイルのパスを使用
+ } else {
+ $errnum = $uploadedFile4['error'];
+ if($errnum === 1){$errcode = "FILE_DEKASUGUI_PHP_INI_KAKUNIN";}
+ if($errnum === 2){$errcode = "FILE_DEKASUGUI_HTML_KAKUNIN";}
+ if($errnum === 3){$errcode = "FILE_SUKOSHIDAKE_UPLOAD";}
+ if($errnum === 4){$errcode = "FILE_UPLOAD_DEKINAKATTA";}
+ if($errnum === 6){$errcode = "TMP_FOLDER_NAI";}
+ if($errnum === 7){$errcode = "FILE_KAKIKOMI_SIPPAI";}
+ if($errnum === 8){$errcode = "PHPINFO()_KAKUNIN";}
+ $error_message[] = 'アップロード失敗!(4)エラーコード:' .$errcode.'';
+ }
+ }
+ if(isset($s3result)){
+ if($s3result == false){
+ $error_message[] = 'アップロード失敗!(1)エラーコード: S3ERROR';
+ }else{
+ $save_photo4 = $s3result; // S3に保存されたファイルのパスを使用
+ }
+ }
+ }else{
+ $error_message[] = "使用できない画像形式です。(SORRY_FILE_HITAIOU)";
+ }
+ }else{
+ $error_message[] = "ファイルがアップロードできませんでした。(FILE_UPLOAD_DEKINAKATTA)";
+ }
+ }
+
+ if (empty($video1['name'])) {
+ $save_video1 = "none";
+ } else {
+ // アップロードされたファイル情報
+ $uploadedVideo = $video1;
+
+ if(!(empty($uploadedVideo['tmp_name']))){
+ if(check_mime_video($uploadedVideo['tmp_name'])){
+ if(AMS3_CHKS == "true"){
+ $s3result = uploadAmazonS3($uploadedVideo['tmp_name']);
+ }else{
+ // アップロードされたファイルの拡張子を取得
+ $extensionVideo = convert_mime(check_mime_video($uploadedVideo['tmp_name']));
+ // 正しい拡張子の場合、新しいファイル名を生成
+ $newFilenameVideo = createUniqId() . '-'.$userid.'.' . $extensionVideo;
+ // 保存先のパスを生成
+ $uploadedPathVideo = '../ueusevideos/' . $newFilenameVideo;
+ // ファイルを移動
+ $resultVideo = move_uploaded_file($uploadedVideo['tmp_name'], __DIR__."/".$uploadedPathVideo);
+ if ($resultVideo) {
+ $save_video1 = $uploadedPathVideo; // 保存されたファイルのパスを使用
+ } else {
+ $errnum = $uploadedVideo['error'];
+ if($errnum === 1){$errcode = "FILE_DEKASUGUI_PHP_INI_KAKUNIN";}
+ if($errnum === 2){$errcode = "FILE_DEKASUGUI_HTML_KAKUNIN";}
+ if($errnum === 3){$errcode = "FILE_SUKOSHIDAKE_UPLOAD";}
+ if($errnum === 4){$errcode = "FILE_UPLOAD_DEKINAKATTA";}
+ if($errnum === 6){$errcode = "TMP_FOLDER_NAI";}
+ if($errnum === 7){$errcode = "FILE_KAKIKOMI_SIPPAI";}
+ if($errnum === 8){$errcode = "PHPINFO()_KAKUNIN";}
+ $error_message[] = 'アップロード失敗!(5)エラーコード:' .$errcode.'';
+ }
+ }
+ if(isset($s3result)){
+ if($s3result == false){
+ $error_message[] = 'アップロード失敗!(5)エラーコード: S3ERROR';
+ }else{
+ $save_video1 = $s3result; // S3に保存されたファイルのパスを使用
+ }
+ }
+ } else {
+ $error_message[] = '対応していないファイル形式です!(SORRY_FILE_HITAIOU)';
+ }
+ }else{
+ $error_message[] = "ファイルがアップロードできませんでした。(FILE_UPLOAD_DEKINAKATTA)";
+ }
+ }
+
+ if(empty($error_message)) {
+ // 書き込み日時を取得
+ $datetime = date("Y-m-d H:i:s");
+ $abi = "none";
+ $popularity = 0;
+ $mentionedUsers = array_unique(get_mentions_userid($ueuse));
+ $mentions = implode(",", $mentionedUsers);
+
+ if(empty($rpUniqid) && empty($ruUniqid)){
+ //-----------通常ユーズ-----------
+ // トランザクション開始
+ $pdo->beginTransaction();
+
+ try {
+
+ // SQL作成
+ $stmt = $pdo->prepare("INSERT INTO ueuse (username, account, uniqid, ueuse, photo1, photo2, photo3, photo4, video1, datetime, abi, nsfw, popularity, mentions) VALUES (:username, :account, :uniqid, :ueuse, :photo1, :photo2, :photo3, :photo4, :video1, :datetime, :abi, :nsfw, :popularity, :mentions)");
+
+ $stmt->bindParam(':username', $username, PDO::PARAM_STR);
+ $stmt->bindParam(':account', $userid, PDO::PARAM_STR);
+ $stmt->bindParam(':uniqid', $uniqid, PDO::PARAM_STR);
+ $stmt->bindParam(':ueuse', $ueuse, PDO::PARAM_STR);
+
+ $stmt->bindParam(':photo1', $save_photo1, PDO::PARAM_STR);
+ $stmt->bindParam(':photo2', $save_photo2, PDO::PARAM_STR);
+ $stmt->bindParam(':photo3', $save_photo3, PDO::PARAM_STR);
+ $stmt->bindParam(':photo4', $save_photo4, PDO::PARAM_STR);
+ $stmt->bindParam(':video1', $save_video1, PDO::PARAM_STR);
+ $stmt->bindParam(':datetime', $datetime, PDO::PARAM_STR);
+
+ $stmt->bindParam(':nsfw', $save_nsfw, PDO::PARAM_STR);
+ $stmt->bindParam(':popularity', $popularity, PDO::PARAM_INT);
+
+ $stmt->bindParam(':mentions', $mentions, PDO::PARAM_STR);
+
+ $stmt->bindParam(':abi', $abi, PDO::PARAM_STR);
+
+ // SQLクエリの実行
+ $res = $stmt->execute();
+
+ // コミット
+ $res = $pdo->commit();
+
+ foreach ($mentionedUsers as $mentionedUser) {
+ send_notification($mentionedUser,$userid,"".$userid."さんにメンションされました!",$ueuse,"/!".$uniqid."", "mention");
+ }
+
+ } catch(Exception $e) {
+ // エラーが発生した時はロールバック
+ $pdo->rollBack();
+ actionLog($userid, "error", "send_ueuse", null, $e, 4);
+ }
+ }elseif((!empty($rpUniqid)) && empty($ruUniqid)){
+ //-----------リプライ-----------
+ $toUserIdQuery = $pdo->prepare("SELECT account FROM ueuse WHERE uniqid = :ueuseid ORDER BY datetime ASC LIMIT 1");
+ $toUserIdQuery->bindValue(':ueuseid', $rpUniqid, PDO::PARAM_STR);
+ $toUserIdQuery->execute();
+ $toUserId_res = $toUserIdQuery->fetch();
+
+ if(!(empty($toUserId_res))){
+ $touserid = $toUserId_res["account"];
+ }else{
+ $touserid = null;
+ }
+
+ changePopularity($pdo, $rpUniqid, $userid, 3);
+ // トランザクション開始
+ $pdo->beginTransaction();
+
+ try {
+ // SQL作成
+ $stmt = $pdo->prepare("INSERT INTO ueuse (username, account, uniqid, rpuniqid, ueuse, photo1, photo2, photo3, photo4, video1, datetime, abi, nsfw, popularity, mentions) VALUES (:username, :account, :uniqid, :rpuniqid, :ueuse, :photo1, :photo2, :photo3, :photo4, :video1, :datetime, :abi, :nsfw, :popularity, :mentions)");
+
+ $stmt->bindParam(':username', $username, PDO::PARAM_STR);
+ $stmt->bindParam(':account', $userid, PDO::PARAM_STR);
+ $stmt->bindParam(':uniqid', $uniqid, PDO::PARAM_STR);
+ $stmt->bindParam(':rpuniqid', $rpUniqid, PDO::PARAM_STR);
+ $stmt->bindParam(':ueuse', $ueuse, PDO::PARAM_STR);
+
+ $stmt->bindParam(':photo1', $save_photo1, PDO::PARAM_STR);
+ $stmt->bindParam(':photo2', $save_photo2, PDO::PARAM_STR);
+ $stmt->bindParam(':photo3', $save_photo3, PDO::PARAM_STR);
+ $stmt->bindParam(':photo4', $save_photo4, PDO::PARAM_STR);
+ $stmt->bindParam(':video1', $save_video1, PDO::PARAM_STR);
+ $stmt->bindParam(':datetime', $datetime, PDO::PARAM_STR);
+
+ $stmt->bindParam(':nsfw', $save_nsfw, PDO::PARAM_STR);
+
+ $stmt->bindParam(':abi', $abi, PDO::PARAM_STR);
+ $stmt->bindParam(':popularity', $popularity, PDO::PARAM_INT);
+ $stmt->bindParam(':mentions', $mentions, PDO::PARAM_STR);
+
+ // SQLクエリの実行
+ $res = $stmt->execute();
+
+ // コミット
+ $res = $pdo->commit();
+
+ foreach ($mentionedUsers as $mentionedUser) {
+ send_notification($mentionedUser,$userid,"".$userid."さんにメンションされました!",$ueuse,"/!".$uniqid."", "mention");
+ }
+
+ send_notification($touserid,$userid,"".$userid."さんが返信しました!",$ueuse,"/!".$uniqid."", "reply");
+ } catch(Exception $e) {
+ // エラーが発生した時はロールバック
+ $pdo->rollBack();
+ actionLog($userid, "error", "send_ueuse", null, $e, 4);
+ }
+ }elseif(empty($rpUniqid) && (!empty($ruUniqid))){
+ //-----------リユーズ-----------
+ $toUserIdQuery = $pdo->prepare("SELECT account FROM ueuse WHERE uniqid = :ueuseid ORDER BY datetime ASC LIMIT 1");
+ $toUserIdQuery->bindValue(':ueuseid', $ruUniqid, PDO::PARAM_STR);
+ $toUserIdQuery->execute();
+ $toUserId_res = $toUserIdQuery->fetch();
+
+ if(!(empty($toUserId_res))){
+ $touserid = $toUserId_res["account"];
+ }else{
+ $touserid = null;
+ }
+
+ changePopularity($pdo, $ruUniqid, $userid, 2);
+
+ // トランザクション開始
+ $pdo->beginTransaction();
+
+ try {
+ // SQL作成
+ $stmt = $pdo->prepare("INSERT INTO ueuse (username, account, uniqid, ruuniqid, ueuse, photo1, photo2, photo3, photo4, video1, datetime, abi, nsfw, popularity, mentions) VALUES (:username, :account, :uniqid, :ruuniqid, :ueuse, :photo1, :photo2, :photo3, :photo4, :video1, :datetime, :abi, :nsfw, :popularity, :mentions)");
+
+ $stmt->bindParam(':username', $username, PDO::PARAM_STR);
+ $stmt->bindParam(':account', $userid, PDO::PARAM_STR);
+ $stmt->bindParam(':uniqid', $uniqid, PDO::PARAM_STR);
+ $stmt->bindParam(':ruuniqid', $ruUniqid, PDO::PARAM_STR);
+ $stmt->bindParam(':ueuse', $ueuse, PDO::PARAM_STR);
+
+ $stmt->bindParam(':photo1', $save_photo1, PDO::PARAM_STR);
+ $stmt->bindParam(':photo2', $save_photo2, PDO::PARAM_STR);
+ $stmt->bindParam(':photo3', $save_photo3, PDO::PARAM_STR);
+ $stmt->bindParam(':photo4', $save_photo4, PDO::PARAM_STR);
+ $stmt->bindParam(':video1', $save_video1, PDO::PARAM_STR);
+ $stmt->bindParam(':datetime', $datetime, PDO::PARAM_STR);
+
+ $stmt->bindParam(':nsfw', $save_nsfw, PDO::PARAM_STR);
+
+ $stmt->bindParam(':abi', $abi, PDO::PARAM_STR);
+ $stmt->bindParam(':popularity', $popularity, PDO::PARAM_INT);
+ $stmt->bindParam(':mentions', $mentions, PDO::PARAM_STR);
+
+
+ // SQLクエリの実行
+ $res = $stmt->execute();
+
+ // コミット
+ $res = $pdo->commit();
+
+ foreach ($mentionedUsers as $mentionedUser) {
+ send_notification($mentionedUser,$userid,"".$userid."さんにメンションされました!",$ueuse,"/!".$uniqid."", "mention");
+ }
+
+ send_notification($touserid,$userid,"".$userid."さんがリユーズしました!",$ueuse,"/!".$uniqid."", "reuse");
+
+ } catch(Exception $e) {
+ // エラーが発生した時はロールバック
+ $pdo->rollBack();
+ actionLog($userid, "error", "send_ueuse", null, $e, 4);
+ }
+ }else{
+ $error_message[] = '返信とリユーズを同時に行うことはできません。(ERROR)';
+ return [false, $error_message];
+ }
+
+ if( $res ) {
+ return [true, $uniqid];
+ } else {
+ $error_message[] = "ユーズに失敗しました。(REGISTERED_DAME)";
+ return [false, $error_message];
+ }
+
+ // プリペアドステートメントを削除
+ $stmt = null;
+ }else{
+ actionLog($userid, "error", "send_ueuse", null, $error_message, 0);
+ return [false, $error_message];
+ }
}else{
actionLog($userid, "error", "send_ueuse", null, $error_message, 0);
return [false, $error_message];
}
}else{
+ $error_message[] = "投稿回数のレート制限を超過しています。(OVER_RATE_LIMIT)";
actionLog($userid, "error", "send_ueuse", null, $error_message, 0);
return [false, $error_message];
}
}else{
- $error_message[] = "投稿回数のレート制限を超過しています。(OVER_RATE_LIMIT)";
- actionLog($userid, "error", "send_ueuse", null, $error_message, 0);
+ $error_message[] = "ユーズのIDに問題が発生しました。(ERROR)";
+ actionLog($userid, "error", "send_ueuse", null, $error_message, 4);
return [false, $error_message];
}
}
@@ -1981,6 +2071,15 @@ function follow_user($pdo, $to_userid, $userid){
return false;
}
+ if ($myData["userid"] == $userData["userid"]) {
+ return false;
+ }
+
+ if($myData["role"] == "ice" || $userData["role"] == "ice"){
+ actionLog($userid, "error", "follow_user", $to_userid, "凍結されているユーザーはフォローできません。", 3);
+ return false;
+ }
+
$other_settings_me = is_OtherSettings($pdo, $userid);
$other_settings_user = is_OtherSettings($pdo, $to_userid);
if($other_settings_me === true && $other_settings_user === true){
@@ -2043,10 +2142,6 @@ function unfollow_user($pdo, $to_userid, $userid){
$myData = getUserData($pdo, $userid);
$userData = getUserData($pdo, $to_userid);
- if (empty($myData) || empty($userData)) {
- return false;
- }
-
$other_settings_me = is_OtherSettings($pdo, $userid);
$other_settings_user = is_OtherSettings($pdo, $to_userid);
if($other_settings_me === true && $other_settings_user === true){
@@ -2114,6 +2209,10 @@ function block_user($pdo, $to_userid, $userid){
return false;
}
+ if ($myData["userid"] == $userData["userid"]) {
+ return false;
+ }
+
$other_settings_me = is_OtherSettings($pdo, $userid);
$other_settings_user = is_OtherSettings($pdo, $to_userid);
if($other_settings_me === true && $other_settings_user === true){
@@ -2453,6 +2552,11 @@ function deleteUser($pdo, $userid, $step, $job_uniqid){
$deleteQuery->bindValue(':fromuserid', $userid, PDO::PARAM_STR);
$res = $deleteQuery->execute();
+ // APIキー削除クエリを実行
+ $deleteQuery = $pdo->prepare("DELETE FROM api WHERE userid = :userid");
+ $deleteQuery->bindValue(':userid', $userid, PDO::PARAM_STR);
+ $res = $deleteQuery->execute();
+
// アカウント削除クエリを実行
$deleteQuery = $pdo->prepare("DELETE FROM account WHERE userid = :userid");
$deleteQuery->bindValue(':userid', $userid, PDO::PARAM_STR);
@@ -2555,6 +2659,8 @@ function addFavorite($pdo, $uniqid, $userid){
//1いいね解除でスコアが1減る
changePopularity($pdo, $uniqid, $userid, -1);
+
+ delete_notification(safetext($post['account']),$userid,"".$userid."さんがいいねしました!",safetext($post['ueuse']),"/!".$uniqid."","favorite");
}
$pdo->beginTransaction();
@@ -2579,7 +2685,6 @@ function addFavorite($pdo, $uniqid, $userid){
return [false, "データベースエラー", null];
}
} else {
- $pdo->rollBack();
return [false, "投稿が見つかりませんでした", null];
}
}
@@ -2611,6 +2716,13 @@ function getUserData($pdo, $userid) {
$query->execute();
return $query->fetch();
}
+function getUserDataForUpdate($pdo, $userid) {
+ $query = $pdo->prepare("SELECT * FROM account WHERE userid = :userid FOR UPDATE");
+ $query->bindValue(':userid', $userid, PDO::PARAM_STR);
+ $query->execute();
+ return $query->fetch();
+}
+
function getUeuseData($pdo, $uniqid) {
$query = $pdo->prepare("SELECT * FROM ueuse WHERE uniqid = :uniqid");
$query->bindValue(':uniqid', $uniqid, PDO::PARAM_STR);
@@ -3075,4 +3187,398 @@ function is_OtherSettings($pdo, $userid, $add = true){
return true;
}
}
+
+function GetActivityPubJson($url) {
+ $ch = curl_init($url);
+ curl_setopt_array($ch, [
+ CURLOPT_RETURNTRANSFER => true,
+ CURLOPT_FOLLOWLOCATION => true, // リダイレクトを追跡
+ CURLOPT_MAXREDIRS => 10, // 最大リダイレクト回数
+ CURLOPT_CONNECTTIMEOUT => 5,
+ CURLOPT_TIMEOUT => 10,
+ CURLOPT_USERAGENT => 'uwuzu-ActivityPubClient/1.0',
+ CURLOPT_HTTPHEADER => [
+ 'Accept: application/activity+json, application/ld+json, application/json'
+ ]
+ ]);
+
+ $response = curl_exec($ch);
+ $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
+ $contentType = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
+ $err = curl_error($ch);
+ curl_close($ch);
+
+ if ($response === false || $httpCode >= 400) {
+ return null;
+ }
+
+ $json = json_decode($response, true);
+ if (json_last_error() !== JSON_ERROR_NONE) {
+ return null;
+ }
+
+ return $json;
+}
+
+function GetActivityPubUser($userid, $domain) {
+ $webfingerUrl = "https://$domain/.well-known/webfinger?resource=acct:$userid@$domain";
+
+ $webfingerJson = GetActivityPubJson($webfingerUrl);
+
+ if (!$webfingerJson || empty($webfingerJson['links'])) {
+ return ['error' => 'Failed to fetch WebFinger'];
+ }
+
+ $actorUrl = null;
+ foreach ($webfingerJson['links'] as $link) {
+ if ($link['rel'] === 'self' && $link['type'] === 'application/activity+json') {
+ $actorUrl = $link['href'];
+ break;
+ }
+ }
+
+ if (!$actorUrl) {
+ return ['error' => 'Actor URL not found'];
+ }
+
+ $actorJson = GetActivityPubJson($actorUrl);
+ if (!$actorJson) {
+ return ['error' => 'Failed to fetch actor'];
+ }
+
+ $summaryHtml = $actorJson['summary'] ?? '';
+ $withNewlines = preg_replace('/
/i', "\n", $summaryHtml);
+ $plainText = strip_tags($withNewlines);
+
+
+ return [
+ 'userid' => $actorJson['preferredUsername'] ?? null,
+ 'username' => $actorJson['name'] ?? null,
+ 'profile' => $plainText ?? null,
+ 'id' => $actorJson['id'] ?? null,
+ 'inbox' => $actorJson['inbox'] ?? null,
+ 'outbox' => $actorJson['outbox'] ?? null,
+ 'followers' => $actorJson['followers'] ?? null,
+ 'iconname' => $actorJson['icon']['url'] ?? "../img/deficon/icon.png",
+ 'headname' => $actorJson['image']['url'] ?? "../img/defhead/head.png",
+ 'datetime' => $actorJson['published'] ?? null,
+ 'role' => 'user',
+ 'other_settings' => '{}',
+ 'follow' => '',
+ 'follower' => '',
+ 'raw' => $actorJson
+ ];
+}
+
+function FormatUeuseItem(array $value, string $myblocklist, string $mybookmark, $pdo, string $userId): ?array {
+ if (in_array(safetext($value['account']), explode(",", $myblocklist))) return null;
+ if ($value["role"] === "ice") return null;
+
+ $value['iconname'] = filter_var($value['iconname'], FILTER_VALIDATE_URL)
+ ? $value['iconname']
+ : "../" . $value['iconname'];
+
+ $value = to_null($value);
+ $value = to_array_safetext($value);
+ $value["role"] = explode(',', $value["role"]);
+
+ if(isset($value["activitypub"]) && $value["activitypub"] == true) {
+ $value["activitypub"] = true;
+ } else {
+ $value["activitypub"] = false;
+ }
+
+ if(isset($value["sacinfo"]) && $value["sacinfo"] == "bot") {
+ $value["is_bot"] = true;
+ } else {
+ $value["is_bot"] = false;
+ }
+
+ if (!empty($value['rpuniqid'])) {
+ $value["type"] = "Reply";
+ } elseif (!empty($value['ruuniqid'])) {
+ $value["type"] = "Reuse";
+
+ $reused = getUeuseData($pdo, $value['ruuniqid']);
+ if ($reused) {
+ $reusedUserData = getUserData($pdo, $reused['account']);
+ $reusedUserData["role"] = explode(',', $reusedUserData["role"]);
+
+ $reused = to_null($reused);
+ $reused = to_array_safetext($reused);
+
+ if(isset($reusedUserData["sacinfo"]) && $reusedUserData["sacinfo"] == "bot") {
+ $reusedUserData["is_bot"] = true;
+ } else {
+ $reusedUserData["is_bot"] = false;
+ }
+
+ $value["reuse"] = [
+ "type" => "Reuse",
+ "uniqid" => $reused["uniqid"],
+ "datetime" => $reused["datetime"],
+ "userid" => $reused["account"],
+ "userdata" => [
+ "userid" => $reusedUserData["userid"],
+ "username" => $reusedUserData["username"],
+ "iconurl" => filter_var($reusedUserData['iconname'], FILTER_VALIDATE_URL)
+ ? $reusedUserData['iconname']
+ : "../" . $reusedUserData['iconname'],
+ "role" => $reusedUserData["role"],
+ "is_bot" => $reusedUserData["is_bot"],
+ ],
+ "ueuse" => $reused["ueuse"],
+ "photo1" => $reused["photo1"],
+ "photo2" => $reused["photo2"],
+ "photo3" => $reused["photo3"],
+ "photo4" => $reused["photo4"],
+ "video1" => $reused["video1"],
+ "rpuniqid" => $reused["rpuniqid"],
+ "ruuniqid" => $reused["ruuniqid"],
+ "nsfw" => filter_var($reused["nsfw"], FILTER_VALIDATE_BOOLEAN),
+ "favoritecount" => $reused["favorite_conut"],
+ "replycount" => $reused["reply_count"],
+ "reusecount" => $reused["reuse_count"],
+ "is_favorite" => in_array($userId, explode(',', $reused['favorite'])),
+ "is_bookmark" => in_array($reused["uniqid"], explode(',', $mybookmark)),
+ "abi" => [
+ "abi_text" => $reused["abi"],
+ "abi_date" => $reused["abidate"],
+ ],
+ "is_activitypub" => $value["activitypub"],
+ ];
+ } else {
+ $value["reuse"] = null;
+ }
+ } else {
+ $value["type"] = "Ueuse";
+ }
+
+ $ueuse = [
+ "type" => $value["type"],
+ "uniqid" => $value["uniqid"],
+ "datetime" => $value["datetime"],
+ "userid" => $value["account"],
+ "userdata" => [
+ "userid" => $value["account"],
+ "username" => $value["username"],
+ "iconurl" => $value['iconname'],
+ "role" => $value["role"],
+ "is_bot" => $value["is_bot"],
+ ],
+ "ueuse" => $value["ueuse"],
+ "photo1" => $value["photo1"],
+ "photo2" => $value["photo2"],
+ "photo3" => $value["photo3"],
+ "photo4" => $value["photo4"],
+ "video1" => $value["video1"],
+ "rpuniqid" => $value["rpuniqid"],
+ "ruuniqid" => $value["ruuniqid"],
+ "nsfw" => filter_var($value["nsfw"], FILTER_VALIDATE_BOOLEAN),
+ "favoritecount" => $value["favorite_conut"],
+ "replycount" => $value["reply_count"],
+ "reusecount" => $value["reuse_count"],
+ "is_favorite" => in_array($userId, explode(',', $value['favorite'])),
+ "is_bookmark" => in_array($value["uniqid"], explode(',', $mybookmark)),
+ "abi" => [
+ "abi_text" => $value["abi"],
+ "abi_date" => $value["abidate"],
+ ],
+ "is_activitypub" => $value["activitypub"],
+ ];
+
+ if ($value["type"] === "Reuse") {
+ $ueuse["reuse"] = $value["reuse"];
+ }
+
+ return $ueuse;
+}
+
+function GetAPIScopes($scope){
+ $scopelist = [
+ "read:me" => "重要な情報以外の自分のアカウントの情報を見る",
+ "write:me" => "重要な情報以外の自分のアカウントの情報を変更する",
+ "read:users" => "他のユーザーのアカウント情報を見る",
+ "read:ueuse" => "ユーズを見る",
+ "write:ueuse" => "ユーズの作成・削除をする",
+ "write:follow" => "フォロー・フォロー解除をする",
+ "write:favorite" => "いいねをする・解除をする",
+ "read:notifications" => "通知を見る",
+ "write:notifications" => "通知を既読にする",
+ "write:bookmark" => "ブックマークにユーズを追加・削除する",
+ "read:bookmark" => "ブックマークを見る"
+ ];
+ if(empty($scope)){
+ return $scopelist;
+ }else{
+ if(array_key_exists($scope, $scopelist)){
+ return $scopelist[$scope];
+ }else{
+ return false;
+ }
+ }
+}
+
+function MinimumHash($text) {
+ $hash = hash('sha3-512', $text);
+
+ for ($i = 0; $i < 5; $i++) {
+ $parts = str_split($hash, 2);
+ $new = [];
+ foreach ($parts as $index => $part) {
+ $new[] = ($index % 2 === 0) ? substr($part, 0, -1) : substr($part, 1);
+ }
+ $hash = implode('', $new);
+ }
+
+ $baseChars = preg_replace('/[^a-zA-Z0-9]/', '', $text);
+ if ($baseChars === '') {
+ $baseChars = 'fallback';
+ }
+ $baseChars = str_split($baseChars);
+
+ $alphabet = array_merge(range('a', 'z'), range('0', '9'));
+ $map = [];
+ foreach ($alphabet as $i => $char) {
+ $map[$char] = $baseChars[$i % count($baseChars)];
+ }
+
+ $encoded = '';
+ foreach (str_split($hash) as $char) {
+ if ($char === '.') continue; // ドット除外
+ if (isset($map[$char])) {
+ $encoded .= $map[$char];
+ if (strlen($encoded) === 4) break;
+ }
+ }
+
+ return (strlen($encoded) === 4) ? $encoded : null;
+}
+
+function GenAPIToken(int $totalLength = 64){
+ $prefix = strtoupper(MinimumHash($_SERVER['HTTP_HOST']));
+ $length = $totalLength - strlen($prefix);
+
+ $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
+ $charLen = strlen($chars);
+
+ $token = '';
+ while (strlen($token) < $length) {
+ $byte = random_bytes(1);
+ $val = ord($byte);
+ if ($val < 62 * floor(256 / 62)) {
+ $token .= $chars[$val % $charLen];
+ }
+ }
+
+ return $prefix . $token;
+}
+function DelAPIToken($pdo, $uniqid){
+ if(!(empty($uniqid))){
+ $tokenQuery = $pdo->prepare("SELECT token FROM api WHERE uniqid = :uniqid");
+ $tokenQuery->bindValue(':uniqid', $uniqid);
+ $tokenQuery->execute();
+ $tokenData = $tokenQuery->fetch();
+ if(!(empty($tokenData["token"]))){
+ $pdo->beginTransaction();
+ try {
+ // 削除クエリを実行
+ $deleteQuery = $pdo->prepare("DELETE FROM api WHERE uniqid = :uniqid");
+ $deleteQuery->bindValue(':uniqid', $uniqid, PDO::PARAM_STR);
+ $res = $deleteQuery->execute();
+
+ if ($res) {
+ $res = $pdo->commit();
+ return true;
+ } else {
+ $pdo->rollBack();
+ actionLog($uniqid, "error", "delete_api_token", null, "APIトークンの削除に失敗しました(rollBack)", 3);
+ return false;
+ }
+ } catch(PDOException $e) {
+ $pdo->rollBack();
+ actionLog($uniqid, "error", "delete_api_token", null, $e, 4);
+ return false;
+ }
+ }else{
+ actionLog($uniqid, "error", "delete_api_token", null, "カラムは存在しますがAPIトークンが存在しません", 3);
+ return false;
+ }
+ }else{
+ return false;
+ }
+}
+function DelSessionidAPIToken($pdo, $session){
+ $tokenQuery = $pdo->prepare("SELECT uniqid, userid, token FROM api WHERE sessionid = :sessionid");
+ $tokenQuery->bindValue(':sessionid', $session);
+ $tokenQuery->execute();
+ $tokenData = $tokenQuery->fetch();
+
+ $none = "";
+ if(!(empty($tokenData["userid"]))){
+ $pdo->beginTransaction();
+ try {
+ $updateQuery = $pdo->prepare("UPDATE api SET sessionid = :sessionid WHERE uniqid = :uniqid");
+ $updateQuery->bindValue(':sessionid', $none, PDO::PARAM_STR);
+ $updateQuery->bindValue(':uniqid', $tokenData["uniqid"], PDO::PARAM_STR);
+ $res = $updateQuery->execute();
+
+ if($res){
+ $pdo->commit();
+ return true;
+ }else{
+ // ロールバック
+ $pdo->rollBack();
+ actionLog($tokenData["userid"], "error", "DelSessionidAPIToken", $tokenData["uniqid"], "セッションIDの無効化に失敗しました!", 3);
+ return false;
+ }
+ } catch (Exception $e) {
+ // ロールバック
+ $pdo->rollBack();
+ actionLog($tokenData["userid"], "error", "DelSessionidAPIToken", $tokenData["uniqid"], $e, 4);
+ return false;
+ }
+ }else{
+ actionLog($tokenData["userid"], "error", "DelSessionidAPIToken", $tokenData["uniqid"], "セッションIDが存在しません。", 3);
+ return false;
+ }
+}
+function APIAuth($pdo, $token, $scope){
+ $tokenQuery = $pdo->prepare("SELECT userid, scope FROM api WHERE token = :token");
+ $tokenQuery->bindValue(':token', $token);
+ $tokenQuery->execute();
+ $tokenData = $tokenQuery->fetch();
+
+ if(!(empty($tokenData["userid"]))){
+ $allow_scope = array_unique(array_map('trim', explode(",", $tokenData["scope"])));
+ if(in_array($scope, $allow_scope)){
+ $userdata = getUserData($pdo, $tokenData["userid"]);
+ if(!(empty($userdata))){
+ if($userdata["role"] === "ice"){
+ return [false, "this_account_has_been_frozen", null];
+ }else{
+ return [true, "success", $userdata];
+ }
+ }else{
+ return [false, "token_invalid", null];
+ }
+ }else{
+ return [false, "not_allow_scope", null];
+ }
+ }else{
+ $userQuery = $pdo->prepare("SELECT * FROM account WHERE token = :token");
+ $userQuery->bindValue(':token', $token);
+ $userQuery->execute();
+ $userData = $userQuery->fetch();
+
+ if(empty($userData["userid"])){
+ return [false, "token_invalid", null];
+ }elseif($userData["role"] === "ice"){
+ return [false, "this_account_has_been_frozen", null];
+ }else{
+ return [true, "success", $userData];
+ }
+ }
+}
+
?>
\ No newline at end of file
diff --git a/home/index.php b/home/index.php
index 5d52d4c..d4b976b 100644
--- a/home/index.php
+++ b/home/index.php
@@ -382,10 +382,15 @@ $(document).ready(function() {
dataType: 'json',
timeout: 300000,
success: function(response) {
- renderUeuses(response);
- pageNumber++;
- isLoading = false;
- $("#loading").hide();
+ if(renderUeuses(response)){
+ pageNumber++;
+ isLoading = false;
+ $("#loading").hide();
+ }else{
+ isLoading = false;
+ $("#loading").hide();
+ $("#error").show();
+ }
},
error: function(xhr, textStatus, errorThrown) {
isLoading = false;
@@ -401,10 +406,15 @@ $(document).ready(function() {
dataType: 'json',
timeout: 300000,
success: function(response) {
- renderUeuses(response);
- pageNumber++;
- isLoading = false;
- $("#loading").hide();
+ if(renderUeuses(response)){
+ pageNumber++;
+ isLoading = false;
+ $("#loading").hide();
+ }else{
+ isLoading = false;
+ $("#loading").hide();
+ $("#error").show();
+ }
},
error: function(xhr, textStatus, errorThrown) {
isLoading = false;
@@ -420,10 +430,15 @@ $(document).ready(function() {
dataType: 'json',
timeout: 300000,
success: function(response) {
- renderUeuses(response);
- pageNumber++;
- isLoading = false;
- $("#loading").hide();
+ if(renderUeuses(response)){
+ pageNumber++;
+ isLoading = false;
+ $("#loading").hide();
+ }else{
+ isLoading = false;
+ $("#loading").hide();
+ $("#error").show();
+ }
},
error: function(xhr, textStatus, errorThrown) {
isLoading = false;
diff --git a/img/titleimg/2.png b/img/titleimg/2.png
index 525a3ea75705d066111e8179fe82812e16c8596b..6b85a812c58ce51c6629c4b8559cfe138dcb65fa 100644
GIT binary patch
literal 355763
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